Fuzzy Search C#

Günümüzdeki yapılandırılmamış veri ve tutarsız kullanıcı girişi dünyasında, arama işlemlerinde tam eşleşmeler genellikle yetersiz kalır. İster bir belge yönetim sistemi, içerik analiz aracı, ya da kurumsal arama motoru üzerinde çalışıyor olun, belirsiz arama uygulamak, arama sorgusunda yazım hataları, yazım varyasyonları veya küçük farklılıklar olsa bile ilgili sonuçları almanızı sağlar. Bu blog yazısında, Conholdate.Total for .NET SDK kullanarak C#`da belirsiz aramayı nasıl uygulayacağınızı keşfedeceğiz. Farklı klasörlerde saklanan birden fazla dosya üzerinde, daha fazla doğruluk ve esneklik için ayarlanabilir benzerlik seviyeleri kullanarak nasıl arama yapacağınızı öğreneceksiniz.

Neden Kaba Arama Kullanılır?

Fuzzy arama, kullanıcı tarafından oluşturulan içerikle çalışan veya çeşitli metin kaynaklarıyla çalışan her modern uygulama için hayati bir özelliktir. Tam eşleşen aramadan farklı olarak, yalnızca sorguyla tam olarak eşleşen sonuçları döndüren, fuzzy arama belirli bir benzerlik düzeyine göre arama sorgusuna yeterince yakın belgeleri alır. Bu yaklaşım, yazım hataları, yazım tutarsızlıkları veya hafif dil varyasyonları dikkate alındığı için kullanıcı deneyimini önemli ölçüde iyileştirir.

Örneğin, kullanıcıların “reciept” kelimesini “receipt” yerine aradığı bir senaryoda, tam arama başarısız olurken, bulanık arama yine de ilgili sonuçlar döndürecektir. Bu, hukuki belge alımı, akademik araştırma ve kurumsal veri madenciliği gibi alanlarda özellikle faydalıdır; burada hem hassasiyet hem de esneklik kritik öneme sahiptir.

Fuzzy Search - .NET Yapılandırması

You need to install Conholdate.Total for .NET with the following NuGet installation command:

Install-Package Conholdate.Total

C#‘da Birden Fazla Dosya ve Klasörde Bulanık Arama

Farklı klasörlerde saklanan geniş bir belge setinde bulanık aramalar gerçekleştirebilirsiniz. Benzerlik seviyelerini kolayca yapılandırabilir ve indeksleme ve arama için yapıyı tanımlayabilirsiniz.

// Creating an index folder and add document's folder to it
Index index = new Index("indexing-folder-path");
index.Add("path/parent-folder");

SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Enabling the fuzzy search
options.FuzzySearch.FuzzyAlgorithm = new SimilarityLevel(0.7);

string query = "nulla"; // search approximate matches of the provided query  
SearchResult result = index.Search(query, options);

Bu kod parçasında:

  • Yeni bir indeks, dizini işaret etmek için oluşturulur.

  • Bu indekse tüm belgeleri içeren bir ana klasör eklendi.

  • Fuzzy arama, SearchOptions sınıfı aracılığıyla etkinleştirilmiştir.

  • The SimilarityLevel is set to 0.7, which corresponds to a 70% match or 30% error tolerance.

  • Arama sorgusu "nulla" gönderilir ve sistem benzerlik eşiğini karşılayan sonuçları alır.

Arama sonuçlarınızın ne kadar katı veya esnek olmasını istediğinize bağlı olarak benzerlik seviyesini ayarlayabilirsiniz. Daha düşük bir eşik, daha fazla esneklik sağlar, daha yüksek bir eşik ise daha sıkı eşleşmelerin olmasını garanti eder.

Özelleştirilebilir Benzerlik Seviyesinin Faydaları

Conholdate.Total for .NET SDK’nin öne çıkan özelliklerinden biri, bulanık arama için benzerlik eşiğini kontrol etme yeteneğidir. Bu düzeydeki özel ayarlamalar, eşleşme süreci üzerinde hassas kontrol sağlar ve sonuçların hem ilgili hem de güvenilir olmasını temin eder.

Daha Yüksek Benzerlik (örneğin, 0.9): Kesinliğin kritik olduğu durumlarda ve orijinal sorguya çok yakın sonuçlar istediğinizde kullanın.

Düşük Benzerlik (örneğin, 0.6): Keşifsel aramalar için veya kullanıcıların sık hatalarla veri girişi yapabileceği durumlar için uygundur.

Bu değeri programlı bir şekilde değiştirebilmek, geliştiricilere tüm sistemi yeniden dizinlemeye veya yeniden yapılandırmaya gerek kalmadan farklı iş kullanım durumlarına uyum sağlama esnekliği sunar.

Ücretsiz Değerlendirme Lisansı

Bir deneme sınırlamalarından kaçınmak ve SDK’yı tam kapasitede test edebilmek için ücretsiz geçici bir lisans alabilirsiniz.

Sonuç

Fuzzy search, akıllı, hoşgörülü ve kullanıcı dostu arama yetenekleri sunması gereken uygulamalar için kritik bir özelliktir. Geliştiriciler, Conholdate.Total for .NET SDK kullanarak C# uygulamalarına güçlü bir fuzzy search işlevselliği entegre edebilirler. İster binlerce hukuki belge arasında arama yapıyor olun, ister kullanıcı tarafından oluşturulan içerikleri tarıyor olun, bu SDK, bunu hassasiyet ve esneklikle yönetmek için araçlar sağlar. Benzerlik seviyelerini ayarlayın, klasörler arasında arama yapın ve girdi mükemmel olmasa bile en alakalı sonuçları alın.

Ayrıca Bakınız