Jak indexovat dokumenty pomocí GroupDocs.Search pro Java

V dnešním datově řízeném světě je jak indexovat dokumenty efektivně kritickou dovedností pro každého Java vývojáře pracujícího s velkými kolekcemi souborů. Ať už zpracováváte právní smlouvy, finanční výkazy nebo interní zprávy, dobře vytvořený vyhledávací index vám umožní najít přesně požadovanou informaci během několika sekund místo hodin ručního procházení. Tento tutoriál vás provede vytvořením vyhledávacího indexu, přidáváním dokumentů a spouštěním jak textových, tak objektových dotazů pomocí GroupDocs.Search pro Java.

Rychlé odpovědi

  • Jaký je první krok při indexování dokumentů? Vytvořte instanci Index, která ukazuje na složku, kde budou uloženy soubory indexu.
  • Která metoda přidává dokumenty do indexu? Zavolejte index.add("PATH_TO_DOCUMENTS") pro prohledání adresáře a načtení podporovaných souborů.
  • Mohu vyhledávat číselné rozsahy? Ano – použijte textový dotaz jako "400 ~~ 4000" nebo objektový dotaz pomocí SearchQuery.createNumericRangeQuery. Metoda createNumericRangeQuery vytváří objekt číselného rozsahu dotazu.
  • Potřebuji licenci? Bezplatná zkušební verze funguje pro hodnocení; komerční licence odemyká celý soubor funkcí a odstraňuje omezení používání.
  • Jaká verze Javy je požadována? Je podporováno JDK 8 nebo vyšší.

Co je indexování dokumentů pomocí GroupDocs.Search?

Indexování dokumentů vytváří pro každý soubor vyhledávatelný úložiště tokenů, což umožňuje enginu získávat shody bez nutnosti číst originální soubory pokaždé. Tento předzpracovatelský krok převádí surový obsah do optimalizovaného indexu, který lze dotazovat během milisekund. Index ukládá termíny, pozice a metadata, což umožňuje rychlé vyhledávání frází a blízkosti napříč všemi podporovanými typy dokumentů.

Proč používat GroupDocs.Search pro Java?

Vyhledávací operace obvykle trvají méně než 50 ms u kolekce 10 000 souborů (průměrně 1 KB každý) běžící na standardní 2‑CPU, 8 GB VM. Knihovna podporuje 30+ vstupních a výstupních formátů—včetně PDF, DOCX, XLSX, PPTX, TXT a HTML—takže můžete indexovat prakticky jakýkoli obchodní dokument bez dalších konvertorů. Její flexibilní API vám umožňuje kombinovat dotazy v prostém textu, číselné rozsahy a složité objektové dotazy, zatímco inkrementální aktualizace vám umožňují přidávat nové soubory bez přestavování celého indexu.

Předpoklady

  • Maven nainstalovaný pro správu závislostí.
  • IDE jako IntelliJ IDEA nebo Eclipse.
  • Základní znalost Javy (OOP koncepty, zpracování výjimek).

Nastavení GroupDocs.Search pro Java

Nastavení Maven

Přidejte repozitář a závislost do vašeho pom.xml:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/search/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-search</artifactId>
      <version>25.4</version>
   </dependency>
</dependencies>

Přímé stažení

Můžete také stáhnout nejnovější JAR z GroupDocs.Search for Java releases.

Kroky získání licence

  1. Free trial – prozkoumejte knihovnu bez nákladů.
  2. Temporary license – požádejte o krátkodobý klíč pro rozšířené hodnocení.
  3. Purchase – získejte plnou licenci pro produkční použití.

Základní inicializace a nastavení

Pro přidání dokumentů do indexu nejprve vytvoříte objekt Index, který ukazuje na složku, kde budou uloženy soubory indexu:

Index je hlavní třída, která představuje vyhledávatelný index na disku.

import com.groupdocs.search.Index;

// Initialize the index by specifying a directory path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");

Tento řádek vytvoří (nebo otevře) index připravený přijímat dokumenty.

Průvodce implementací

Vytváření a indexování dokumentů

Jak přidat dokumenty do indexu

Metoda add prohledá složku a uloží vyhledávatelná data pro každý soubor. Rekurzivně zpracuje všechny podporované dokumenty, extrahuje text a metadata a zapíše tokeny do složky indexu, kterou jste uvedli dříve.

import com.groupdocs.search.Index;

// Initialize an index at the specified path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");

// Add documents from a directory for indexing
index.add("YOUR_DOCUMENT_DIRECTORY");
  • Parametry: Řetězec cesty ukazuje na složku obsahující soubory, které chcete indexovat.
  • Účel: Po tomto kroku index obsahuje tokeny ze všech podporovaných typů dokumentů, což umožňuje rychlé vyhledávání v celé kolekci.

Vyhledávání textovým dotazem

Jak provést textový dotaz číselného rozsahu

Můžete vyhledávat pomocí jednoduchého řetězce, který definuje rozsah. Engine interpretuje operátor ~~ jako „mezi“ a vrací všechny dokumenty obsahující čísla v určených mezích.

import com.groupdocs.search.*;
import com.groupdocs.search.results.*;

// Define a query for numeric values within a specific range
String query1 = "400 ~~ 4000";

// Execute text-based search on indexed data
SearchResult result1 = index.search(query1);
  • Parametry: Řetězec dotazu "400 ~~ 4000" říká enginu najít čísla mezi 400 a 4000.
  • Návratová hodnota: SearchResult obsahuje seznam odpovídajících dokumentů a zvýrazňuje odpovídající fragmenty.

Vyhledávání objektovým dotazem

Jak použít objektový dotaz pro číselné rozsahy

Objektové dotazy vám poskytují programatickou kontrolu nad kritérii vyhledávání, což vám umožňuje kombinovat více podmínek nebo dynamicky během běhu vytvářet dotazy.

import com.groupdocs.search.*;
import com.groupdocs.search.results.*;

// Create a numeric range query object
SearchQuery query2 = SearchQuery.createNumericRangeQuery(400, 4000);

// Perform search using the query object
SearchResult result2 = index.search(query2);
  • Parametry: createNumericRangeQuery přijímá počáteční a koncové celé číslo.
  • Účel: Tato metoda je ideální, když potřebujete filtrovat výsledky podle číselných polí, jako jsou částky faktur, věk nebo kódy produktů.

Praktické aplikace

Zde jsou některé reálné scénáře, kde jak indexovat dokumenty představuje zásadní změnu:

  1. Legal document management – najděte klauzule, čísla případů nebo data napříč tisíci smluv během několika sekund.
  2. Financial reporting – vyberte transakce spadající do konkrétního finančního rozsahu bez procházení každého tabulkového souboru.
  3. Inventory tracking – najděte položky podle sériových čísel, šaržových kódů nebo rozsahů SKU v distribuovaném souborovém systému.

Integrace GroupDocs.Search s databázemi, cloudovým úložištěm nebo frontami zpráv může dále automatizovat pracovní postupy s dokumenty.

Úvahy o výkonu

  • Pravidelné aktualizace indexu: Znovu spusťte index.add pro nové soubory, aby byl index aktuální.
  • Správa zdrojů: Sledujte využití haldy; velké indexy těží z optimalizovaných nastavení garbage‑collection JVM.
  • Optimalizace dotazů: Používejte objektové dotazy pro složité filtry, abyste snížili zbytečné prohledávání a zlepšili dobu odezvy.

Časté problémy a řešení

ProblémProč k tomu docházíŘešení
Vyhledávání nevrací žádné výsledkyIndex nebyl vytvořen nebo je cesta ke složce nesprávnáOvěřte, že index.add byl spuštěn ve správném adresáři a že složka indexu je zapisovatelná.
OutOfMemoryError during indexingVelmi velké soubory nebo nedostatečná paměť haldyZvyšte hodnotu JVM -Xmx nebo indexujte soubory v menších dávkách.
Nepodporovaný formát souboruTyp souboru není rozpoznán GroupDocs.SearchUjistěte se, že přípona je v seznamu podporovaných (PDF, DOCX, XLSX, PPTX, TXT, HTML, atd.).

Často kladené otázky

Q: Jak aktualizuji existující index novými dokumenty?
A: Znovu zavolejte index.add("NEW_DOCUMENT_PATH"); knihovna sloučí nové položky bez přestavování celého indexu.

Q: Dokáže GroupDocs.Search zpracovávat různé formáty souborů?
A: Ano, podporuje více než 30 formátů—včetně PDF, DOCX, XLSX, PPTX, TXT a HTML—takže můžete indexovat prakticky jakýkoli obchodní dokument.

Q: Jaké jsou systémové požadavky pro používání GroupDocs.Search?
A: Java 8+ runtime, alespoň 2 GB RAM pro menší kolekce (větší sady těží z 4 GB+), a přístup ke čtení/zápisu do složky indexu.

Q: Jak mohu řešit problémy s výkonem vyhledávání?
A: Udržujte index aktuální, profilujte své dotazy a přezkoumejte nastavení paměti JVM. Snížení počtu indexovaných polí nebo použití objektových dotazů může také urychlit provádění.

Q: Existuje podpora pro synonyma nebo fuzzy vyhledávání?
A: Ano, můžete povolit slovníky synonym a fuzzy vyhledávání pomocí třídy SearchOptions, což rozšíří shodu bez ztráty relevance. Třída SearchOptions konfiguruje pokročilé chování vyhledávání, jako jsou synonyma a fuzzy vyhledávání.


Poslední aktualizace: 2026-08-10
Testováno s: GroupDocs.Search 25.4 pro Java
Autor: GroupDocs

Související tutoriály