Fuzzy Search C#

Dans le monde d’aujourd’hui des données non structurées et des saisies utilisateur incohérentes, les correspondances exactes dans les opérations de recherche sont souvent insuffisantes. Que vous travailliez sur un système de gestion de documents, un outil d’analyse de contenu ou un moteur de recherche d’entreprise, la mise en œuvre de la recherche floue vous permet de récupérer des résultats pertinents même lorsque la requête de recherche contient des fautes de frappe, des variations orthographiques ou des différences mineures. Dans cet article de blog, nous allons explorer comment implémenter la recherche floue en C# en utilisant Conholdate.Total pour .NET SDK. Vous apprendrez comment rechercher dans plusieurs fichiers stockés dans divers dossiers en utilisant des niveaux de similarité réglables pour une plus grande précision et flexibilité.

Pourquoi utiliser la recherche floue ?

La recherche floue est une fonctionnalité essentielle pour toute application moderne qui gère du contenu généré par les utilisateurs ou travaille avec des sources de texte diversifiées. Contrairement à la recherche exacte, qui ne retourne que des résultats correspondant exactement à la requête, la recherche floue récupère des documents qui sont suffisamment proches de la requête de recherche en fonction d’un niveau de similarité défini. Cette approche améliore considérablement l’expérience utilisateur en tenant compte des fautes de frappe, des incohérences orthographiques ou des légères variations linguistiques.

Par exemple, dans un scénario où les utilisateurs recherchent le mot “reciept” au lieu de “receipt”, une recherche exacte échouerait, tandis qu’une recherche floue retournerait toujours des résultats pertinents. Cela est particulièrement utile dans des domaines tels que la récupération de documents juridiques, la recherche académique et l’exploration de données en entreprise, où la précision et la flexibilité sont toutes deux cruciales.

Recherche floue - Configuration .NET

Vous devez installer Conholdate.Total for .NET avec la commande d’installation NuGet suivante :

Install-Package Conholdate.Total

Recherche floue à travers plusieurs fichiers et dossiers en C#

Vous pouvez effectuer des recherches floues sur un large ensemble de documents stockés dans différents dossiers. Vous pouvez facilement configurer les niveaux de similarité et définir la structure pour l’indexation et la recherche.

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

Dans ce extrait de code :

  • Un nouvel index est créé pointant vers le répertoire utilisé pour l’indexation.

  • Un dossier parent contenant tous les documents est ajouté à cet index.

  • La recherche floue est activée via la classe SearchOptions.

  • Le SimilarityLevel est réglé sur 0,7, ce qui correspond à un match de 70 % ou une tolérance d’erreur de 30 %.

  • La requête de recherche "nulla" est transmise, et le système récupère des résultats qui répondent au seuil de similarité.

Vous pouvez ajuster le niveau de similarité en fonction de la rigueur ou de la tolérance que vous souhaitez pour vos résultats de recherche. Un seuil plus bas permet plus de flexibilité, tandis qu’un seuil plus élevé garantit des correspondances plus strictes.

Avantages du niveau de similarité personnalisable

Une des fonctionnalités remarquables de Conholdate.Total pour .NET SDK est la possibilité de contrôler le seuil de similarité pour la recherche floue. Ce niveau de personnalisation offre un contrôle précis sur le processus de correspondance, garantissant que les résultats sont à la fois pertinents et fiables.

Similarité Élevée (par exemple, 0,9) : À utiliser lorsque la précision est critique et que vous souhaitez des résultats très proches de la requête originale.

Similarity basse (par exemple, 0.6) : Convient aux recherches exploratoires ou lorsque les utilisateurs peuvent saisir des données avec des erreurs fréquentes.

Être capable de changer cette valeur par programmation donne aux développeurs la flexibilité de s’adapter à différents cas d’utilisation commerciale sans avoir besoin de réindexer ou de reconfigurer l’ensemble du système.

Licence d’évaluation gratuite

Vous pouvez obtenir une licence temporaire gratuite pour éviter les limitations de la version d’essai du SDK et pouvoir le tester à pleine capacité.

Conclusion

La recherche floue est une fonctionnalité critique pour les applications qui doivent offrir des capacités de recherche intelligentes, tolérantes et conviviales. En utilisant Conholdate.Total pour .NET SDK, les développeurs peuvent intégrer une puissante fonctionnalité de recherche floue dans leurs applications C# avec un effort minimal. Que vous recherchiez parmi des milliers de documents juridiques ou que vous examiniez du contenu généré par les utilisateurs, ce SDK fournit les outils pour le gérer avec précision et flexibilité. Ajustez les niveaux de similarité, recherchez dans des dossiers et récupérez les résultats les plus pertinents, même lorsque l’entrée n’est pas parfaite.

Voir aussi