
En el mundo actual de datos no estructurados y entradas de usuario inconsistentes, las coincidencias exactas en las operaciones de búsqueda a menudo son insuficientes. Ya sea que estés trabajando en un sistema de gestión de documentos, una herramienta de análisis de contenido o un motor de búsqueda empresarial, implementar la búsqueda difusa te permite recuperar resultados relevantes incluso cuando la consulta de búsqueda tiene errores tipográficos, variaciones en la ortografía o diferencias menores. En esta publicación de blog, exploraremos cómo implementar la búsqueda difusa en C# utilizando Conholdate.Total para .NET SDK. Aprenderás cómo buscar en múltiples archivos almacenados en varias carpetas utilizando niveles de similitud ajustables para una mayor precisión y flexibilidad.
¿Por qué usar búsqueda difusa?
La búsqueda difusa es una característica esencial para cualquier aplicación moderna que maneje contenido generado por usuarios o trabaje con diversas fuentes de texto. A diferencia de la búsqueda exacta, que solo devuelve resultados que coinciden exactamente con la consulta, la búsqueda difusa recupera documentos que están lo suficientemente cerca de la consulta de búsqueda en función de un nivel definido de similitud. Este enfoque mejora significativamente la experiencia del usuario al tener en cuenta errores tipográficos, inconsistencias ortográficas o ligeras variaciones lingüísticas.
Por ejemplo, en un escenario donde los usuarios buscan la palabra "reciept" en lugar de "receipt," una búsqueda exacta fallaría, mientras que una búsqueda difusa todavía devolvería resultados relevantes. Esto es especialmente útil en campos como la recuperación de documentos legales, la investigación académica y la minería de datos en empresas, donde la precisión y la flexibilidad son cruciales.
Búsqueda difusa - Configuración de .NET
Necesitas instalar Conholdate.Total for .NET con el siguiente comando de instalación de NuGet:
Install-Package Conholdate.Total
Búsqueda difusa a través de múltiples archivos y carpetas en C#
Puedes realizar búsquedas difusas en un amplio conjunto de documentos almacenados en diferentes carpetas. Puedes configurar fácilmente los niveles de similitud y definir la estructura para la indexación y búsqueda.
// 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);
En este fragmento de código:
Se crea un nuevo índice que apunta al directorio utilizado para la indexación.
Se añade una carpeta principal que contiene todos los documentos a este índice.
La búsqueda difusa está habilitada a través de la clase SearchOptions.
El NivelDeSimilitud se establece en 0.7, lo que corresponde a un 70% de coincidencia o un 30% de tolerancia al error.
La consulta de búsqueda "nulla" se pasa, y el sistema recupera resultados que cumplen con el umbral de similitud.
Puedes ajustar el nivel de similitud dependiendo de cuán estricto o flexible quieras que sean tus resultados de búsqueda. Un umbral más bajo permite más flexibilidad, mientras que un umbral más alto asegura una coincidencia más ajustada.
Beneficios del Nivel de Similitud Personalizable
Una de las características más destacadas de Conholdate.Total para .NET SDK es la capacidad de controlar el umbral de similitud para la búsqueda difusa. Este nivel de personalización proporciona un control preciso sobre el proceso de coincidencia, asegurando que los resultados sean tanto relevantes como fiables.
Mayor Similaridad (p. ej., 0.9): Úsalo cuando la precisión sea crítica y desees resultados que estén muy cerca de la consulta original.
Baja Similaridad (p. ej., 0.6): Adecuado para búsquedas exploratorias o cuando los usuarios pueden introducir datos con errores frecuentes.
Ser capaz de cambiar este valor programáticamente le da a los desarrolladores la flexibilidad de adaptarse a diferentes casos de uso empresarial sin necesidad de reindexar o reconfigurar todo el sistema.
Licencia de Evaluación Gratuita
Puedes obtener una licencia temporal gratuita para evitar las limitaciones de la prueba del SDK y poder probarlo a plena capacidad.
Conclusión
La búsqueda difusa es una característica crítica para las aplicaciones que necesitan ofrecer capacidades de búsqueda inteligentes, tolerantes y amigables para el usuario. Al utilizar Conholdate.Total para .NET SDK, los desarrolladores pueden integrar una potente funcionalidad de búsqueda difusa en sus aplicaciones C# con un esfuerzo mínimo. Ya sea que estés buscando entre miles de documentos legales o explorando contenido generado por los usuarios, este SDK proporciona las herramientas para manejarlo con precisión y flexibilidad. Ajusta los niveles de similitud, busca entre carpetas y recupera los resultados más relevantes, incluso cuando la entrada no es perfecta.