
В современном мире неструктурированных данных и непоследовательного ввода данных пользователем точные совпадения в поисковых операциях часто оказываются недостаточными. Независимо от того, работаете ли вы над системой управления документами, инструментом анализа контента или корпоративной поисковой системой, внедрение нечеткого поиска позволяет вам получать релевантные результаты, даже когда поисковой запрос содержит опечатки, различные написания слов или незначительные различия. В этом блоге мы рассмотрим, как реализовать нечеткий поиск в C# с использованием Conholdate.Total для .NET SDK. Вы узнаете, как искать по нескольким файлам, хранящимся в различных папках, используя настраиваемые уровни сходства для большей точности и гибкости.
Почему использовать нечеткий поиск?
模糊搜索是任何处理用户生成内容或与多样文本来源的现代应用程序的基本特征。与只返回与查询完全匹配的精确搜索不同,模糊搜索根据定义的相似度水平检索与搜索查询接近的文档。这种方法通过考虑输入错误、拼写不一致或轻微的语言变体,显著改善了用户体验。
Например, в сценарии, когда пользователи ищут слово “reciept” вместо “receipt”, точный поиск не сработает, в то время как нечёткий поиск всё равно вернёт релевантные результаты. Это особенно полезно в таких областях, как извлечение юридических документов, академические исследования и анализ корпоративных данных, где и точность, и гибкость имеют решающее значение.
模糊搜索 - .NET 配置
Вам нужно установить Conholdate.Total for .NET с помощью следующей команды установки NuGet:
Install-Package Conholdate.Total
Поиск по шаблону в нескольких файлах и папках на C#
Вы можете выполнять нечеткие поиски по широкому набору документов, хранящимся в разных папках. Вы можете легко настроить уровни сходства и определить структуру для индексирования и поиска.
// 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);
В этом фрагменте кода:
Создается новый индекс, указывающий на каталог, используемый для индексации.
Добавлена родительская папка, содержащая все документы, в этот индекс.
Неопределенный поиск включен с помощью класса SearchOptions.
УровеньСходства установлен на 0.7, что соответствует 70% совпадению или 30% допустимой погрешности.
Запрос на поиск "nulla" передан, и система извлекает результаты, которые соответствуют порогу схожести.
Вы можете настроить уровень сходства в зависимости от того, насколько строгими или либеральными вы хотите, чтобы были ваши результаты поиска. Более низкий порог позволяет более гибко подходить к результатам, в то время как более высокий порог гарантирует более точное соответствие.
Преимущества настраиваемого уровня схожести
Одной из выдающихся особенностей Conholdate.Total для .NET SDK является возможность контролировать порог сходства для нечеткого поиска. Этот уровень настройки обеспечивает тонкий контроль над процессом сопоставления, гарантируя, что результаты будут как уместными, так и надежными.
Более высокая схожесть (например, 0.9): Используйте, когда точность имеет решающее значение, и вы хотите получить результаты, которые очень близки к исходному запросу.
Низкая схожесть (например, 0.6): Подходит для исследовательских поисков или когда пользователи могут вводить данные с частыми ошибками.
Возможность изменять это значение программно предоставляет разработчикам гибкость адаптироваться к различным бизнес-кейсам без необходимости повторной индексации или перенастройки всей системы.
Бесплатная лицензия на оценку
Вы можете получить бесплатную временную лицензию, чтобы избежать ограничений пробной версии SDK и иметь возможность тестировать его на полную мощность.
Заключение
模糊搜索是需要提供智能、宽容和用户友好搜索功能的应用程序的重要功能。通过使用 Conholdate.Total for .NET SDK,开发人员可以轻松地将强大的模糊搜索功能集成到他们的 C# 应用程序中。无论您是在数千份法律文件中搜索,还是扫描用户生成的内容,该 SDK 都提供了以精确和灵活的方式处理这些内容的工具。调整相似度级别,在文件夹中搜索,并检索最相关的结果,即使输入不完美。