Используя .NET API, вы можете выполнять поиск по частям и указывать количество потоков поиска в C#. Эта функция будет более полезна при поиске текста в больших указателях, содержащих тысячи документов. Кроме того, теперь вы можете получить время начала и окончания, а также общее время поиска для получения результатов поиска.

В следующем фрагменте кода показано, как создать индекс, а затем выполнить поиск фрагментов текста в указанной папке на C# с помощью GroupDocs.Search for .NET. Чтобы использовать наилучшую производительность и обновленные функции, я бы рекомендовал вам установить и использовать последнюю версию API.

Поиск текста по индексации в C#

В следующем примере показано, как выполнить поиск по частям/фрагментам.

  • Создайте Index с вашей индексной папкой.
  • Добавить папку с вашими документами в созданный файл index.
  • Установите Search Option и установите для параметра IsChunkSearch значение true для поиска по частям/частям.
  • Вызовите метод Search вашего индекса, указав поисковый запрос и параметры поиска.
  • Теперь в результате вы можете просмотреть каждый сегмент, используя Search Next и передав его Chunk Search Token в качестве параметра.
string indexFolder = @"c:\\MyIndex\\";
string documentsFolder = @"c:\\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);
}

Если у вас есть какие-либо предложения, сомнения или вопросы, связанные с API поиска .NET, вы можете использовать форум для быстрого ответа. Вы можете быстро создать тему, чтобы поделиться своими мыслями.

Смотрите также