Fuzzy Search C#

In de wereld van vandaag met ongestructureerde gegevens en inconsistente gebruikersinvoer, komen exacte overeenkomsten in zoekoperaties vaak tekort. Of je nu werkt aan een documentbeheersysteem, tool voor contentanalyse of bedrijfszoekmachine, het implementeren van fuzzy search stelt je in staat om relevante resultaten te verkrijgen, zelfs wanneer de zoekopdracht typfouten, spelfouten of kleine verschillen bevat. In dit blogbericht zullen we verkennen hoe je fuzzy search kunt implementeren in C# met behulp van Conholdate.Total voor .NET SDK. Je leert hoe je kunt zoeken in meerdere bestanden die in verschillende mappen zijn opgeslagen met aanpasbare gelijkenisniveaus voor meer nauwkeurigheid en flexibiliteit.

Waarom Fuzzy Zoekopdracht Gebruiken?

Fuzzy search is een essentiële functie voor elke moderne applicatie die door gebruikers gegenereerde content beheert of werkt met diverse tekstbronnen. In tegenstelling tot exacte zoekopdrachten, die alleen resultaten retourneren die exact overeenkomen met de zoekopdracht, haalt fuzzy search documenten op die dicht genoeg bij de zoekopdracht liggen op basis van een gedefinieerd niveau van overeenstemming. Deze aanpak verbetert de gebruikservaring aanzienlijk door rekening te houden met typfouten, spelfouten of kleine linguïstische variaties.

Bijvoorbeeld, in een scenario waarin gebruikers zoeken naar het woord "reciept" in plaats van "receipt," zou een exacte zoekopdracht falen, terwijl een vage zoekopdracht nog steeds relevante resultaten zou opleveren. Dit is vooral nuttig in velden zoals juridische documentretrieval, academisch onderzoek en gegevensontginning in ondernemingen, waar precisie en flexibiliteit beide essentieel zijn.

Fuzzy Search - .NET Configuratie

U moet Conholdate.Total voor .NET installeren met de volgende NuGet-installatieopdracht:

Install-Package Conholdate.Total

Fuzzy Search Over Meerdere Bestanden en Mappen in C#

Je kunt vage zoekopdrachten uitvoeren in een brede set van documenten die in verschillende mappen zijn opgeslagen. Je kunt eenvoudig de gelijkenisniveaus configureren en de structuur voor indexeren en zoeken definiëren.

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

In this code snippet:

  • Een nieuwe index wordt gemaakt die wijst naar de directory die voor indexering wordt gebruikt.

  • Een bovenliggende map met alle documenten is aan deze index toegevoegd.

  • Fuzzy search is ingeschakeld via de SearchOptions klasse.

  • Het SimilarityLevel is ingesteld op 0,7, wat overeenkomt met een 70% overeenkomst of 30% fouttolerantie.

  • De zoekopdracht "nulla" wordt doorgegeven, en het systeem haalt resultaten op die aan de vergelijkingsdrempel voldoen.

Je kunt het niveau van gelijkenis aanpassen, afhankelijk van hoe strikt of soepel je wilt dat je zoekresultaten zijn. Een lagere drempel biedt meer flexibiliteit, terwijl een hogere drempel zorgt voor striktere overeenkomsten.

Voordelen van aanpasbaar gelijkenisniveau

Een van de opvallende kenmerken van Conholdate.Total voor .NET SDK is de mogelijkheid om de gelijkenisdrempel voor vage zoekopdracht te beheersen. Dit niveau van aanpassing biedt verfijnde controle over het matchingsproces, waardoor ervoor wordt gezorgd dat de resultaten zowel relevant als betrouwbaar zijn.

Hogere Gelijkenis (bijv. 0.9): Gebruik wanneer precisie cruciaal is, en je resultaten wilt die zeer dicht bij de oorspronkelijke zoekopdracht liggen.

Lagere vergelijkbaarheid (bijv. 0.6): Geschikt voor verkennende zoekopdrachten of wanneer gebruikers mogelijk gegevens invoeren met frequente fouten.

In staat zijn om deze waarde programmatically te wijzigen geeft ontwikkelaars de flexibiliteit om zich aan te passen aan verschillende bedrijfstoepassingen zonder dat ze het hele systeem opnieuw hoeven te indexeren of opnieuw te configureren.

Gratis evaluatielicentie

Je kunt een gratis tijdelijke licentie verkrijgen om de proefbeperkingen van de SDK te vermijden en deze volledig te testen.

Conclusie

Fuzzy search is een kritische functie voor applicaties die slimme, tolerante en gebruiksvriendelijke zoekmogelijkheden moeten bieden. Door gebruik te maken van Conholdate.Total voor .NET SDK, kunnen ontwikkelaars krachtige fuzzy search-functionaliteit integreren in hun C#-applicaties met minimale inspanning. Of je nu door duizenden juridische documenten zoekt of door door gebruikers gegenereerde inhoud scrolt, deze SDK biedt de tools om dit met precisie en flexibiliteit te verwerken. Pas de gelijkenisniveaus aan, zoek door mappen en haal de meest relevante resultaten op, zelfs wanneer de invoer niet perfect is.

Zie ook