Виділення результатів пошуку за допомогою C#

Ефективне керування результатами пошуку та забезпечення їх легкої ідентифікації є важливим аспектом розробки надійних програм пошуку документів. Завдяки виділенню результатів пошуку за допомогою C# ви можете покращити взаємодію з користувачем, візуально виділяючи відповідну інформацію в результатах пошуку. Цей посібник проведе вас через процес виділення результатів пошуку в C#, показує вам, як застосовувати візуальні індикатори до відповідних термінів, полегшуючи користувачам швидкий і ефективний пошук потрібної інформації.

Кроки для виділення результатів пошуку за допомогою C#

  1. Налаштуйте своє середовище розробки, інтегрувавши бібліотеку GroupDocs.Search for .NET, щоб увімкнути виділення результатів пошуку
  2. Створіть екземпляр об’єкта IndexSettings, щоб налаштувати спосіб індексування документів
  3. Встановіть TextStorageSettings на Compression.High, щоб ефективно зберігати витягнутий текст
  4. Використовуйте клас Index для створення індексу. Передайте конструктору шлях до папки індексу та об’єкт IndexSettings
  5. Використовуйте метод Index.Add, щоб додати документи з указаної папки до індексу
  6. Використовуйте метод 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#.

 Українська