
No mundo atual de dados não estruturados e entrada de usuário inconsistente, correspondências exatas em operações de busca muitas vezes não são suficientes. Seja você um desenvolvedor de um sistema de gerenciamento de documentos, ferramenta de análise de conteúdo ou motor de busca empresarial, implementar busca difusa permite que você recupere resultados relevantes mesmo quando a consulta de busca possui erros de digitação, variações de ortografia ou pequenas diferenças. Neste post do blog, vamos explorar como implementar busca difusa em C# usando Conholdate.Total para .NET SDK. Você aprenderá como buscar em vários arquivos armazenados em diferentes pastas usando níveis de similaridade ajustáveis para maior precisão e flexibilidade.
Por que usar busca difusa?
A busca difusa é um recurso essencial para qualquer aplicativo moderno que lida com conteúdo gerado pelo usuário ou trabalha com diversas fontes de texto. Ao contrário da busca exata, que retorna apenas resultados que correspondem exatamente à consulta, a busca difusa recupera documentos que estão próximos o suficiente da consulta de pesquisa com base em um nível definido de semelhança. Esta abordagem melhora significativamente a experiência do usuário ao levar em consideração erros de digitação, inconsistências de ortografia ou pequenas variações linguísticas.
Por exemplo, em um cenário onde os usuários buscam pela palavra “reciept” em vez de “receipt”, uma busca exata falharia, enquanto uma busca aproximada ainda retornaria resultados relevantes. Isso é especialmente útil em áreas como recuperação de documentos legais, pesquisa acadêmica e mineração de dados empresariais, onde a precisão e a flexibilidade são ambas cruciais.
Busca Difusa - Configuração .NET
Você precisa instalar Conholdate.Total for .NET com o seguinte comando de instalação NuGet:
Install-Package Conholdate.Total
Busca Difusa em Vários Arquivos e Pastas em C#
Você pode realizar pesquisas aproximadas em um amplo conjunto de documentos armazenados em diferentes pastas. Você pode facilmente configurar níveis de semelhança e definir a estrutura para indexação e pesquisa.
// 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:
Um novo índice é criado apontando para o diretório utilizado para indexação.
Uma pasta pai contendo todos os documentos é adicionada a este índice.
A pesquisa difusa é ativada através da classe SearchOptions.
O SimilarityLevel está definido para 0,7, o que corresponde a uma correspondência de 70% ou uma tolerância a erro de 30%.
A consulta de busca “nulla” é passada, e o sistema recupera resultados que atendem ao limite de similaridade.
Você pode ajustar o nível de similaridade dependendo de quão rigorosos ou flexíveis você deseja que os resultados da pesquisa sejam. Um limite mais baixo permite mais flexibilidade, enquanto um limite mais alto garante uma correspondência mais precisa.
Benefícios do Nível de Similaridade Personalizável
Uma das características de destaque do Conholdate.Total para o SDK .NET é a capacidade de controlar o limite de semelhança para a pesquisa difusa. Esse nível de personalização oferece controle refinado sobre o processo de correspondência, garantindo que os resultados sejam tanto relevantes quanto confiáveis.
Maior Semelhança (por exemplo, 0,9): Use quando a precisão é crítica e você deseja resultados que estejam muito próximos da consulta original.
Baixa Semelhança (por exemplo, 0.6): Adequada para buscas exploratórias ou quando os usuários podem inserir dados com erros frequentes.
Ser capaz de alterar esse valor programaticamente dá aos desenvolvedores a flexibilidade de se adaptar a diferentes casos de uso comercial sem precisar reindexar ou reconfigurar todo o sistema.
Licença de Avaliação Gratuita
Você pode obter uma licença temporária gratuita para evitar as limitações da versão de teste do SDK e poder testá-lo em plena capacidade.
Conclusão
A pesquisa difusa é um recurso crítico para aplicativos que precisam oferecer capacidades de pesquisa inteligentes, tolerantes e amigáveis ao usuário. Usando o Conholdate.Total para .NET SDK, os desenvolvedores podem integrar uma funcionalidade de pesquisa difusa poderosa em suas aplicações C# com esforço mínimo. Se você está pesquisando entre milhares de documentos legais ou examinando conteúdo gerado pelo usuário, este SDK fornece as ferramentas para lidar com isso com precisão e flexibilidade. Ajuste os níveis de similaridade, pesquise em pastas e recupere os resultados mais relevantes, mesmo quando a entrada não está perfeita.