Ефективното управление на резултатите от търсенето и лесното им разпознаване е критичен аспект от разработването на надеждни приложения за търсене на документи. С открояване на резултати от търсене с помощта на C# можете да подобрите потребителското изживяване чрез визуално разграничаване на съответната информация в резултатите от търсенето. Това ръководство ще ви преведе през процеса на маркиране на резултатите от търсенето в C#, показвайки ви как да прилагате визуални индикатори към съвпадащи термини, което улеснява потребителите да намерят необходимата им информация бързо и ефективно.
Стъпки за маркиране на резултати от търсене с помощта на C#
- Настройте вашата среда за разработка, като интегрирате библиотеката GroupDocs.Search for .NET, за да активирате подчертаването на резултатите от търсенето
- Създайте обект на IndexSettings, за да конфигурирате как се индексират документите
- Задайте TextStorageSettings на Compression.High, за да съхранявате ефективно извлечения текст
- Използвайте класа Index, за да създадете индекс. Предайте пътя към индексната папка и обекта IndexSettings към конструктора
- Използвайте метода Index.Add, за да добавите документи от посочената папка към индекса
- Използвайте метода Index.Search, за да търсите конкретна ключова дума или фраза, като например Вселена. Това връща обект SearchResult, съдържащ всички документи, които съответстват на заявката за търсене
Процесът започва с настройка на индекс, който съхранява извлечен текст от документи. Този индекс е от съществено значение за бързото и точно търсене. Използвайки IndexSettings, ние позволяваме съхранение на текст с висока компресия, за да поддържаме ефективност. Обектът Index се създава и попълва с документи от определена папка. След като документите бъдат индексирани, можете да извършите операция за търсене за конкретни ключови думи. Например, за да подчертаем срещанията на думата Вселена в документ, първо я търсим в индекса. Обектът SearchResult съдържа всички документи, съдържащи ключовата дума. Ако има съвпадения, се получава FoundDocument и се използва маркер за прилагане на маркиране. Можете да персонализирате формата за осветяване, като зададете TermHighlightStartTag и TermHighlightEndTag, за да показват ясно съответстващите термини в текста. Този подход не само ви позволява да извършвате C# търсене и подчертаване на документи, но също така подобрява потребителското изживяване чрез ясно маркиране на подходящи съвпадения в текста.
Код за маркиране на резултати от търсене с помощта на C#
using GroupDocs.Search; | |
using GroupDocs.Search.Common; | |
using GroupDocs.Search.Highlighters; | |
using GroupDocs.Search.Options; | |
using GroupDocs.Search.Results; | |
using System; | |
namespace HighlightSearchResultsUsingCSharp | |
{ | |
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\"; | |
// Creating an index settings instance | |
IndexSettings settings = new IndexSettings(); | |
// Enabling storage of extracted text in the index | |
settings.TextStorageSettings = new TextStorageSettings(Compression.High); | |
// Creating an index in the specified folder | |
Index index = new Index(indexFolder, settings); | |
// Indexing documents from the specified folder | |
index.Add(documentsFolder); | |
// Search for the word 'Universe' | |
SearchResult result = index.Search("Universe"); | |
// Highlighting occurrences in the text | |
if (result.DocumentCount > 0) | |
{ | |
// Getting the first found document | |
FoundDocument document = result.GetFoundDocument(0); | |
// Creating the output adapter | |
StructureOutputAdapter outputAdapter = new StructureOutputAdapter( | |
OutputFormat.PlainText); | |
// Creating the highlighter instance | |
Highlighter highlighter = new DocumentHighlighter(outputAdapter); | |
// Creating the highlight options | |
HighlightOptions options = new HighlightOptions(); | |
// Setting the start tag for the found word | |
options.TermHighlightStartTag = "<Term>"; | |
// Setting the end tag for the found word | |
options.TermHighlightEndTag = "</Term>"; | |
// Generating plain text with highlighted occurrences | |
index.Highlight(document, highlighter, options); | |
DocumentField[] fields = outputAdapter.GetResult(); | |
Console.WriteLine(document.ToString()); | |
for (int i = 0; i < fields.Length; i++) | |
{ | |
// Printing field names of the found document | |
DocumentField field = fields[i]; | |
Console.WriteLine("\t" + field.Name); | |
} | |
} | |
} | |
} | |
} |
Открояването на съвпадения при търсене в C# е основна функция за приложенията за търсене на документи, което улеснява потребителите да намират бързо подходяща информация. Като използвате библиотеки като GroupDocs.Search, можете да внедрите мощна и ефективна система, която поддържа маркиране на съвпадения при търсене в C#. Този подход не само подобрява функционалността за търсене, но също така прави резултатите визуално отличителни, подобрявайки взаимодействието с потребителите. Внедряването на търсене и подчертаване с C# е лесно и може да бъде пригодено да отговаря на специфични нужди на приложението, независимо дали разработвате система за управление на документи или инструмент за търсене в реално време.
По-рано пуснахме задълбочено ръководство за получаване на индексирани документи с помощта на C#. За пълен урок стъпка по стъпка, не забравяйте да разгледате нашата подробна статия за това как да получавате индексирани документи с помощта на C#.