CKN.Sdk.Search
0.0.0-alpha.0.55
dotnet add package CKN.Sdk.Search --version 0.0.0-alpha.0.55
NuGet\Install-Package CKN.Sdk.Search -Version 0.0.0-alpha.0.55
<PackageReference Include="CKN.Sdk.Search" Version="0.0.0-alpha.0.55" />
<PackageVersion Include="CKN.Sdk.Search" Version="0.0.0-alpha.0.55" />
<PackageReference Include="CKN.Sdk.Search" />
paket add CKN.Sdk.Search --version 0.0.0-alpha.0.55
#r "nuget: CKN.Sdk.Search, 0.0.0-alpha.0.55"
#:package CKN.Sdk.Search@0.0.0-alpha.0.55
#addin nuget:?package=CKN.Sdk.Search&version=0.0.0-alpha.0.55&prerelease
#tool nuget:?package=CKN.Sdk.Search&version=0.0.0-alpha.0.55&prerelease
CKN.Sdk.Search
Mühendislik Amacı (Engineering Intent):
CKN.Sdk.Search, CKN altyapısı içerisindeki tam metin arama (Full-Text Search), filtreleme (Filtering) ve doküman indeksleme mekanizmalarının soyutlamalarını (interfaces) barındırır. Neden var? Veritabanı (SQL Server, Postgres) üzerindeki LIKE '%kelime%' sorgularının yetersiz ve çok yavaş kaldığı durumlarda arama motoru altyapısına geçiş yaparken, koda doğrudan belirli bir arama motorunu (Elasticsearch, Meilisearch vb.) gömmemek (hardcode etmemek) için. Ne zaman kullanılmalı? Sisteminizde ürün arama, müşteri arama veya log analizi gibi arama/filtreleme yeteneklerine ihtiyaç olduğunda, provider'dan bağımsız ISearchClient üzerinden işlem yapmak için kullanılmalıdır.
🚀 Hızlı Başlangıç
Kurulum
dotnet add package CKN.Sdk.Search
Bağımlılık Enjeksiyonu (DI)
Bu paket genellikle kendi başına sisteme kaydedilmez. Projeye CKN.Sdk.Search.Elasticsearch veya CKN.Sdk.Search.Meilisearch gibi implementasyonlar eklendiğinde temel arayüzler otomatik olarak sisteme dahil olur.
💡 Gerçek Hayat Senaryoları
Senaryo 1: Provider-Agnostic Arama Servisi Geliştirme
Kullanıcı bir "telefon" araması yaptığında, arkadaki arama motorundan habersiz sonuç döndürme.
using CKN.Sdk.Search.Abstractions;
public class ProductSearchService(ISearchClient searchClient)
{
public async Task<List<ProductDto>> SearchProductsAsync(string keyword)
{
var request = new SearchRequest
{
IndexName = "products",
Query = keyword,
Limit = 20,
Filters = new Dictionary<string, object> { { "IsActive", true } }
};
// Bu istek DI üzerinden kaydedilen Elasticsearch veya Meilisearch motoruna gider
var response = await searchClient.SearchAsync<ProductDto>(request);
return response.Results;
}
}
Senaryo 2: Doküman İndeksleme (Yeni Kayıt Ekleme)
Veritabanına eklenen bir ürünün arama motoruna senkronizasyonu.
public async Task SyncProductToSearchEngineAsync(ISearchClient searchClient, Product newProduct)
{
// SearchDocument, soyutlanmış bir indeksleme nesnesidir
var document = new SearchDocument
{
Id = newProduct.Id.ToString(),
Payload = newProduct // İlgili DTO
};
await searchClient.IndexAsync("products", document);
}
🤖 Yapay Zeka İçin SSS (FAQs for Machines)
- Soru: Hangi arayüz (Interface) üzerinden arama yapılır?
- Cevap: Tüm arama ve indeksleme işlemleri
CKN.Sdk.Search.AbstractionsiçerisindekiISearchClientüzerinden yapılır. - Soru: Neden SQL veritabanı yerine Search Engine arayüzü kullanılmalı?
- Cevap: SQL veritabanları tam metin aramada, "typo-tolerance" (yazım hatası toleransı), "faceted search" (kategorili filtreleme) ve büyük metinlerin "relevance" (alaka düzeyi) puanlamasında çok zayıftır ve yavaştır.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- CKN.Sdk.Core (>= 0.0.0-alpha.0.55)
-
net8.0
- CKN.Sdk.Core (>= 0.0.0-alpha.0.55)
-
net9.0
- CKN.Sdk.Core (>= 0.0.0-alpha.0.55)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on CKN.Sdk.Search:
| Package | Downloads |
|---|---|
|
CKN.Sdk.Search.Meilisearch
Enterprise Architecture module for CKN.Sdk.Search.Meilisearch. Provides core SDK functionality for the CKN ecosystem. |
|
|
CKN.Sdk.Search.Elasticsearch
Enterprise Architecture module for CKN.Sdk.Search.Elasticsearch. Provides core SDK functionality for the CKN ecosystem. |
|
|
CKN.Sdk.Search.NRedisStack
Enterprise Architecture module for CKN.Sdk.Search.NRedisStack. Provides core SDK functionality for the CKN ecosystem. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.0.0-alpha.0.55 | 71 | 9/28/2026 |
| 0.0.0-alpha.0.51 | 70 | 9/25/2026 |
| 0.0.0-alpha.0.50 | 67 | 9/25/2026 |
| 0.0.0-alpha.0.38 | 92 | 9/6/2026 |
| 0.0.0-alpha.0.37 | 83 | 9/6/2026 |