В днешния цифров пейзаж способността за прецизно и ефикасно търсене в големи обеми документи е критично изискване за много приложения. Алгоритмите за търсене с точно съвпадение обаче често не успяват, когато потребителите допускат печатни грешки, използват алтернативен правопис или въвеждат непълна информация. Тук размитото търсене става безценно. Размитото търсене е техника, която позволява приблизителни съвпадения, позволявайки на потребителите да намират подходящи резултати, дори когато заявката за търсене и целевото съдържание не са идентични. Разработчиците вече могат да извършват размито търсене с помощта на C#, като използват разширените му възможности за подобряване на точността на търсенето. Независимо дали трябва да изградите търсене на документи с размита логика в C# за система за управление на документи от корпоративен клас или да създадете проста помощна програма за търсене, тази статия ще предостави подробно ръководство.
Стъпки за извършване на размито търсене с помощта на C#
- Конфигурирайте настройките си за разработка, като добавите библиотеката GroupDocs.Search for .NET, която улеснява прилагането на размито търсене
- Създайте обект Index, за да определите място за съхранение, където вашите документи ще бъдат организирани и подготвени за бързо търсене
- Използвайте метода Index.Add, за да включите файлове в индекса, като посочите папката, съдържаща документите, които искате да обработите
- Конфигурирайте опциите за търсене, за да активирате размито търсене, като използвате свойството FuzzySearch.Enabled, което позволява приблизителни съвпадения
- Дефинирайте алгоритъма за размито търсене с ниво на сходство, като използвате свойството FuzzySearch.FuzzyAlgorithm. Това ниво определя допустимия брой грешки въз основа на дължините на думите (напр. до 2 грешки за думи с 10-14 знака)
- Изпълнете търсенето в индекса, като използвате заявката и 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#.