Fuzzy Search C#

W dzisiejszym świecie nieustrukturyzowanych danych i niespójnych wpisów użytkowników, dokładne dopasowania w operacjach wyszukiwania często zawodzą. Niezależnie od tego, czy pracujesz nad systemem zarządzania dokumentami, narzędziem do analizy treści, czy silnikiem wyszukiwania w przedsiębiorstwie, wdrożenie wyszukiwania przybliżonego pozwala na uzyskanie istotnych wyników, nawet gdy zapytanie wyszukiwania zawiera błędy, warianty pisowni lub drobne różnice. W tym wpisie na blogu omówimy, jak wdrożyć wyszukiwanie przybliżone w C# z użyciem Conholdate.Total dla .NET SDK. Dowiesz się, jak wyszukiwać w wielu plikach przechowywanych w różnych folderach, używ

Dlaczego używać wyszukiwania przybliżonego?

Fuzzy search to istotna funkcja dla każdej nowoczesnej aplikacji, która obsługuje treści generowane przez użytkowników lub pracuje z różnorodnymi źródłami tekstu. W przeciwieństwie do wyszukiwania dokładnego, które zwraca jedynie wyniki pasujące do zapytania dokładnie, fuzzy search odzyskuje dokumenty, które są wystarczająco bliskie zapytaniu wyszukiwania na podstawie zdefiniowanego poziomu podobieństwa. To podejście znacznie poprawia doświadczenia użytkowników, uwzględniając błędy typograficzne, niespójności w pisowni lub niewielkie różnice językowe.

Na przykład, w scenariuszu, w którym użytkownicy wyszukują słowo reciept” zamiast receipt”, dokładne wyszukiwanie by nie powiodło się, podczas gdy wyszukiwanie przybliżone nadal zwróciłoby odpowiednie wyniki. Jest to szczególnie przydatne w dziedzinach takich jak pobieranie dokumentów prawnych, badania akademickie i eksploracja danych w przedsiębiorstwach, gdzie precyzja i elastyczność są obie kluczowe.

Fuzzy Search - konfiguracja .NET

Musisz zainstalować Conholdate.Total for .NET za pomocą następującego polecenia instalacji NuGet:

Install-Package Conholdate.Total

Fuzzy Search Across Multiple Files and Folders in C#

Możesz przeprowadzać wyszukiwania przybliżone w szerokim zbiorze dokumentów przechowywanych w różnych folderach. Możesz łatwo skonfigurować poziomy podobieństwa i zdefiniować strukturę do indeksowania i wyszukiwania.

// 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);

W tym fragmencie kodu:

  • Tworzy się nowy indeks wskazujący na katalog używany do indeksowania.

  • Do folder nadrzędny zawierający wszystkie dokumenty został dodany do tego indeksu.

  • Fuzzy search jest włączony za pomocą klasy SearchOptions.

  • Poziom podobieństwa jest ustawiony na 0,7, co odpowiada 70% zgodności lub 30% tolerancji błędu.

  • Zapytanie `nulla” jest przekazywane, a system zwraca wyniki, które spełniają próg podobieństwa.

Możesz dostosować poziom podobieństwa w zależności od tego, jak rygorystyczne lub elastyczne chcesz, aby były wyniki wyszukiwania. Niższy próg pozwala na większą elastyczność, podczas gdy wyższy próg zapewnia ściślejsze dopasowanie.

Zalety dostosowywalnego poziomu podobieństwa

Jedną z wyróżniających cech Conholdate.Total dla .NET SDK jest możliwość kontrolowania progu podobieństwa dla wyszukiwania przybliżonego. Ten poziom dostosowywania zapewnia precyzyjną kontrolę nad procesem dopasowywania, zapewniając, że wyniki są zarówno istotne, jak i wiarygodne.

Wyższa podobieństwo (np. 0.9): Użyj, gdy precyzja jest kluczowa, a chcesz uzyskać wyniki bardzo bliskie oryginalnemu zapytaniu.

Niższa podobieństwo (np. 0.6): Odpowiednie do eksploracyjnych wyszukiwań lub gdy użytkownicy mogą wprowadzać dane z częstymi błędami.

Możliwość programowego zmieniania tej wartości daje deweloperom elastyczność dostosowywania się do różnych przypadków użycia w biznesie bez potrzeby ponownego indeksowania lub rekonfigurowania całego systemu.

Darmowa licencja ewaluacyjna

Możesz uzyskać darmową tymczasową licencję, aby uniknąć ograniczeń wersji próbnej SDK i móc przetestować go w pełni.

Wnioski

Fuzzy search jest kluczową cechą dla aplikacji, które muszą oferować inteligentne, tolerancyjne i przyjazne dla użytkownika możliwości wyszukiwania. Dzięki użyciu Conholdate.Total dla .NET SDK, deweloperzy mogą zintegrować potężną funkcjonalność fuzzy search w swoich aplikacjach C# z minimalnym wysiłkiem. Niezależnie od tego, czy przeszukujesz tysiące dokumentów prawnych, czy skanujesz treści generowane przez użytkowników, ten SDK zapewnia narzędzia do obsługi tego z precyzją i elastycznością. Dostosuj poziomy podobieństwa, przeszukuj foldery i odzyskuj najbardziej istotne wyniki, nawet gdy wprowadzone dane nie są idealne.

See Also