Виконайте пошук за фрагментами за допомогою C#

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

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

  1. Налаштуйте своє середовище розробки, інтегрувавши GroupDocs.Search for .NET у свій проект, щоб увімкнути пошук за фрагментами
  2. Ініціалізуйте об’єкт Index, вказавши шлях до папки, де зберігатиметься індекс
  3. Використовуйте метод Index.Add для індексування документів із зазначеної папки, щоб зробити документи доступними для пошуку
  4. Створіть екземпляр класу SearchOptions і встановіть для властивості IsChunkSearch значення true, щоб увімкнути фрагментований пошук
  5. Викличте метод Index.Search із рядком запиту та налаштованими параметрами пошуку

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

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

using GroupDocs.Search;
using GroupDocs.Search.Options;
using GroupDocs.Search.Results;
using System;
namespace PerformSearchbyChunksUsingCSharp
{
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);
// Creating a search options instance
SearchOptions options = new SearchOptions();
options.IsChunkSearch = true; // Enabling the search by chunks
// Starting the search by chunks
SearchResult result = index.Search(query, options);
Console.WriteLine("Document count: " + result.DocumentCount);
Console.WriteLine("Occurrence count: " + result.OccurrenceCount);
// Continuing the search by chunks
while (result.NextChunkSearchToken != null)
{
result = index.SearchNext(result.NextChunkSearchToken);
Console.WriteLine("Document count: " + result.DocumentCount);
Console.WriteLine("Occurrence count: " + result.OccurrenceCount);
}
}
}
}

Пошук із фрагментами забезпечує надійне рішення для ефективного пошуку великомасштабних даних шляхом поділу процесу на менші, керовані частини. Цей підхід особливо цінний, коли вам потрібно пошук у великих індексах документів у C#, пропонуючи переваги масштабованості та продуктивності. Крім того, крос-платформна сумісність базової бібліотеки забезпечує безпроблемне розгортання в Windows, macOS і Linux. Використовуючи цю техніку, розробники можуть створювати потужні та гнучкі пошукові рішення, які задовольняють вимоги сучасних додатків із інтенсивним об’ємом даних.

Раніше ми ділилися вичерпним посібником із виконання пошуку за символами підстановки за допомогою C#. Щоб отримати детальну покрокову інструкцію, перегляньте нашу статтю про те, як виконувати пошук по шаблонах за допомогою C#.

 Українська