Proveďte vyhledávání podle bloků pomocí C#

Efektivní zpracování vyhledávání ve velkých souborech dat může být náročné, zejména při práci s indexy obsahujícími desítky nebo stovky tisíc dokumentů. Řešením této výzvy je provádět vyhledávání po blocích pomocí jazyka C#, který zpracovává data segment po segmentu, optimalizuje paměť a zpracovává zdroje. Tento přístup je zvláště užitečný pro aplikace vyžadující vysoce výkonné možnosti vyhledávání v rozsáhlých kolekcích dokumentů. Využitím C# blokového vyhledávání ve velkých indexech mohou vývojáři provádět flexibilní a efektivní vyhledávací operace při zachování škálovatelnosti.

Kroky k provedení vyhledávání podle bloků pomocí C#

  1. Nastavte své vývojové prostředí integrací GroupDocs.Search for .NET do svého projektu, abyste mohli provádět vyhledávání po částech
  2. Inicializujte objekt Index zadáním cesty ke složce, kam bude index uložen
  3. Pomocí metody Index.Add indexujte dokumenty ze zadané složky, aby bylo možné v nich vyhledávat
  4. Vytvořte instanci třídy SearchOptions a nastavte vlastnost IsChunkSearch na true, abyste povolili blokové vyhledávání
  5. Zavolejte metodu Index.Search s řetězcem dotazu a nakonfigurovanými možnostmi vyhledávání

Koncept prohledávání dokumentů podle kousků v C# zahrnuje rozdělení vyhledávacího procesu na zvládnutelné části, což umožňuje zpracovat každý segment indexu samostatně. Toho je dosaženo pomocí kombinace třídy Index a třídy SearchOptions, kde vlastnost IsChunkSearch umožňuje blokové vyhledávání. Níže uvedený kód demonstruje, jak vytvořit index, přidat dokumenty a provést blokový vyhledávací dotaz. Výsledky jsou získávány segment po segmentu pomocí metody SearchNext, která zajišťuje efektivní zpracování velkých datových sad.

Kód pro provádění vyhledávání podle bloků pomocí 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);
}
}
}
}

Chunked search poskytuje robustní řešení pro efektivní zpracování rozsáhlých datových vyhledávání rozdělením procesu na menší, spravovatelné části. Tento přístup je zvláště cenný, když potřebujete prohledávat velké indexy dokumentů v C#, což nabízí výhody škálovatelnosti a výkonu. Kromě toho kompatibilita základní knihovny mezi platformami zajišťuje bezproblémové nasazení v systémech Windows, macOS a Linux. Začleněním této techniky mohou vývojáři vytvářet výkonná a flexibilní řešení pro vyhledávání, která uspokojí požadavky moderních aplikací náročných na data.

Dříve jsme sdíleli komplexního průvodce pro vyhledávání zástupných znaků pomocí C#. Podrobný postup krok za krokem najdete v našem článku o provádět vyhledávání zástupných znaků pomocí C#.

 Čeština