Извършване на размито търсене с помощта на C#

В днешния цифров пейзаж способността за прецизно и ефикасно търсене в големи обеми документи е критично изискване за много приложения. Алгоритмите за търсене с точно съвпадение обаче често не успяват, когато потребителите допускат печатни грешки, използват алтернативен правопис или въвеждат непълна информация. Тук размитото търсене става безценно. Размитото търсене е техника, която позволява приблизителни съвпадения, позволявайки на потребителите да намират подходящи резултати, дори когато заявката за търсене и целевото съдържание не са идентични. Разработчиците вече могат да извършват размито търсене с помощта на C#, като използват разширените му възможности за подобряване на точността на търсенето. Независимо дали трябва да изградите търсене на документи с размита логика в C# за система за управление на документи от корпоративен клас или да създадете проста помощна програма за търсене, тази статия ще предостави подробно ръководство.

Стъпки за извършване на размито търсене с помощта на C#

  1. Конфигурирайте настройките си за разработка, като добавите библиотеката GroupDocs.Search for .NET, която улеснява прилагането на размито търсене
  2. Създайте обект Index, за да определите място за съхранение, където вашите документи ще бъдат организирани и подготвени за бързо търсене
  3. Използвайте метода Index.Add, за да включите файлове в индекса, като посочите папката, съдържаща документите, които искате да обработите
  4. Конфигурирайте опциите за търсене, за да активирате размито търсене, като използвате свойството FuzzySearch.Enabled, което позволява приблизителни съвпадения
  5. Дефинирайте алгоритъма за размито търсене с ниво на сходство, като използвате свойството FuzzySearch.FuzzyAlgorithm. Това ниво определя допустимия брой грешки въз основа на дължините на думите (напр. до 2 грешки за думи с 10-14 знака)
  6. Изпълнете търсенето в индекса, като използвате заявката и SearchOptions, за да извлечете съответстващи резултати

Размитото търсене в GroupDocs.Search работи, като позволява приблизително съвпадение между заявката за търсене и индексираното съдържание. Това се постига с помощта на алгоритъм за размито търсене в C# с праг на сходство, като 0,8, който позволява до 20% несъответствия, и размит алгоритъм, който адаптира допустимите грешки въз основа на дължината на думата. За да го изпълните, започнете, като настроите вашата среда за разработка и добавите библиотеката към вашия проект. Създайте индекс, за да съхранявате вашите документи, след което добавете файловете, които искате да търсите. Активирайте размитото търсене в опциите за търсене, като зададете свойството FuzzySearch.Enabled на true и конфигурирате прага на подобие, като използвате свойството FuzzyAlgorithm, за да определите нивото на допустимите несъответствия. И накрая, изпълнете заявката за търсене с тези опции и библиотеката ще върне резултати въз основа на приблизителни съвпадения, което ви позволява ефективно да обработвате грешки или вариации в думите за търсене.

Код за извършване на размито търсене с помощта на C#

using GroupDocs.Search;
using GroupDocs.Search.Options;
using GroupDocs.Search.Results;
namespace PerformFuzzySearchUsingCSharp
{
internal class Program
{
static void Main(string[] args)
{
// Apply the license to remove the restrictions
// imposed by the Search library
License lic = new License();
lic.SetLicense(@"GroupDocs.Search.lic");
string indexFolder = @"d:\MyIndex\";
string documentsFolder = @"d:\MyDocuments\";
string query = "Einstein";
// Creating an index in the specified folder
Index index = new Index(indexFolder);
// Indexing documents from the specified folder
index.Add(documentsFolder);
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Enabling the fuzzy search
options.FuzzySearch.FuzzyAlgorithm = new SimilarityLevel(0.8);
// Creating the fuzzy search algorithm
// This function specifies 0 as the maximum number of mistakes
// for words from 1 to 4 characters.
// It specifies 1 as the maximum number of mistakes for words
// from 5 to 9 characters.
// It specifies 2 as the maximum number of mistakes for words
// from 10 to 14 characters. And so on.
// Search in index
SearchResult result = index.Search(query, options);
}
}
}

В заключение, внедряването на размито търсене в C# с помощта на библиотека за търсене е лесен и ефективен начин за подобряване на възможностите за търсене на вашето приложение. Този урок за размито търсене за .NET разработчици демонстрира как да обработвате приблизителни съвпадения с персонализирани опции, като гарантира, че потребителите могат да намерят подходящи резултати дори при несъвършени заявки. Независимият от платформата характер на библиотеката за търсене я прави универсален избор, позволявайки на разработчиците да изграждат стабилна функционалност за търсене в различни среди. Независимо дали разработвате система за управление на документи, помощна програма за търсене или каквото и да е приложение, изискващо интелигентно търсене, тя ви предоставя инструментите за предоставяне на ефикасно и удобно за потребителя изживяване.

По-рано споделихме задълбочено ръководство за прилагане на фасетно търсене в C#. За пълен урок стъпка по стъпка не пропускайте нашата подробна статия на как да извършите фасетно търсене с помощта на C#.

 Български