Příklad full text search v Javě s GroupDocs.Search

Pokud potřebujete příklad full text search, který funguje napříč PDF, soubory Word, tabulkami a dalšími, jste na správném místě. Ruční procházení tisíců dokumentů je obrovskou překážkou, ale GroupDocs.Search pro Java automatizuje indexování a dotazování s bleskovou rychlostí. V tomto tutoriálu vás provedeme vším, co potřebujete k zahájení — od přidání dokumentů do indexu, tvorby boolean query java výrazů, až po optimalizaci výkonu vyhledávání pro produkční zatížení.

Rychlé odpovědi

  • Co je příklad full text search? Indexuje surový text každého dokumentu, takže můžete okamžitě dotazovat jakékoli slovo nebo frázi.
  • Která knihovna podporuje více formátů? GroupDocs.Search pro Java zvládá PDF, DOCX, XLSX, PPTX, HTML, TXT a více než 50 dalších typů souborů.
  • Jak přidám dokumenty do indexu? Zavolejte metodu index.add() s cestou ke složce nebo vlastním DocumentFilter.
  • Mohu spouštět Boolean dotazy? Ano — kombinujte termíny pomocí AND, OR, NOT pro přesné výsledky.
  • Jak mohu zlepšit výkon? Použijte inkrementální indexování, povolte cachování výsledků a zakážte fonetické vyhledávání, pokud není potřeba.

Příklad full text search vám umožní prohledat celý textový obsah dokumentů, uložit jej do efektivního indexu a okamžitě získat odpovídající záznamy. Na rozdíl od vyhledávání pouze podle názvu souboru, prohledává vnitřní obsah PDF, Word dokumentů, tabulek a dalších podporovaných formátů, což je ideální pro systémy správy dokumentů, portály podpory a jakoukoli aplikaci, kde uživatelé potřebují rychle najít informace.

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

GroupDocs.Search pro Javu poskytuje podporu více formátů pro více než 50 typů souborů, včetně PDF, DOCX, XLSX, PPTX, HTML a prostého textu. Škáluje na miliony souborů při nízké spotřebě paměti díky ukládání indexu na disk. Knihovna obsahuje pokročilý dotazovací jazyk s vestavěnými Boolean, fuzzy a fonetickými vyhledáváními a integruje se s jedinou Maven závislostí, což vám umožní začít indexovat během několika minut.

Požadavky

Předtím, než začnete, ujistěte se, že máte:

  • Java 11+ (Java 8 funguje, ale Java 11 nebo novější je doporučena pro lepší výkon).
  • Maven pro správu závislostí.
  • Licenci GroupDocs.Search (klíč z bezplatné zkušební verze stačí pro vývoj).

Požadované knihovny a závislosti

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>

Pro podrobný návod viz dokumentaci.

Nastavení prostředí

  • Nainstalujte JDK (8 nebo novější) a nakonfigurujte JAVA_HOME.
  • Použijte IDE jako IntelliJ IDEA nebo Eclipse pro snadnější ladění.

Předpoklady znalostí

  • Základní koncepty programování v Javě.
  • Znalost struktury pom.xml v Maven.

Nastavení GroupDocs.Search pro Javu

Knihovnu můžete přidat přes Maven (ukázáno výše) nebo stáhnout JAR ručně.

Přímé stažení (pokud dáváte přednost ručnímu nastavení)

Stáhněte si nejnovější balíček z GroupDocs.Search for Java releases.

Kroky získání licence

  1. Free trial – Zaregistrujte se a získejte dočasný klíč.
  2. Temporary license – Požádejte o delší klíč pro rozšířené testování.
  3. Purchase – Upgradujte na plnou komerční licenci, až budete připraveni na produkci.

Základní inicializace a nastavení

Vytvořte složku pro index na disku a ověřte, že se knihovna načte správně:

import com.groupdocs.search.Index;

public class SearchSetup {
    public static void main(String[] args) {
        // Initialize an index in the specified directory
        Index index = new Index("C:\\MyIndex");
        
        System.out.println("GroupDocs.Search initialized!");
    }
}

Tip: Uchovávejte adresář indexu na rychlém SSD, aby se minimalizovala latence dotazů.

Přidávání dokumentů do indexu

Proč je to důležité: Bez indexovaného obsahu nejsou možné žádné výsledky vyhledávání. Níže ukazujeme, jak přidat celé složky nebo filtrovat konkrétní typy souborů.

Krok 1: vytvořit index

Třída Index je prohledávatelný kontejner, který ukládá indexované dokumenty na disku.

Index index = new Index("C:\\MyIndex");

Krok 2: přidat dokumenty (add documents to index)

Můžete indexovat vše ve složce nebo omezit na určité přípony pomocí DocumentFilter.

index.add("C:\\Documents\\*.*"); // Adds all documents from the specified directory
// For specific file types, use:
index.add("C:\\Reports", new DocumentFilter() {
    @Override
    public boolean accept(String fileName) {
        return fileName.endsWith(".pdf") || fileName.endsWith(".docx");
    }
});

Vysvětlení:

  • Index představuje prohledávatelnou databázi.
  • add() načítá soubory; zástupný znak *.* zachytí všechny soubory, zatímco DocumentFilter vám umožní jemně doladit krok add documents to index.

Provedení vyhledávání (search documents java)

Nyní, když index obsahuje data, můžete jej dotazovat.

Krok 1: vytvořit dotaz

String query = "GroupDocs";

Krok 2: spustit vyhledávání

SearchResult result = index.search(query);
System.out.println("Documents found: " + result.getDocumentCount());

Vysvětlení:

  • search() spouští dotaz proti indexu.
  • getDocumentCount() vám říká, kolik dokumentů odpovídá — užitečné pro rychlé ověření.

Pokročilé techniky dotazování (boolean query java)

Boolean dotazy

Třída BooleanQuery vám umožní vytvářet složité výrazy pomocí operátorů AND, OR, NOT.

String booleanQuery = "GroupDocs AND Java";
SearchResult booleanResult = index.search(booleanQuery);

Fonetické vyhledávání (volitelné pro fuzzy shodu)

Funkce PhoneticSearch umožňuje fonetické porovnání pro chybně napsané výrazy, ale přidává režii.

index.getSettings().setPhoneticSearch(true);

Kdy použít: Povolte fonetické vyhledávání pouze pokud uživatelé často chybně píší výrazy; jinak jej nechte zakázané pro optimalizaci výkonu vyhledávání.

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

ProblémProč k tomu docházíŘešení
Chybějící dokumentyNesprávná cesta k souboru nebo nedostatečná oprávněníOvěřte cestu a udělte přístup ke čtení
Pomalé dotazyVelký index bez cachování nebo zbytečné fonetické vyhledáváníPovolte cachování, zakažte fonetické vyhledávání a zvažte rozdělení indexu
Chyby Out‑of‑MemoryVelikost indexu překračuje haldu JVMZvyšte -Xmx nebo použijte inkrementální indexování

Praktické aplikace

GroupDocs.Search vyniká v reálných scénářích:

  1. Content management systems – Poskytuje okamžité full‑text vyhledávání napříč články, PDF a mediálními soubory.
  2. Customer support portals – Agenti mohou během sekund najít relevantní manuály nebo politiky.
  3. Enterprise document repositories – Vyhledává napříč smlouvami, zprávami a dokumenty o shodě, aniž by bylo nutné přesouvat data do samostatné databáze.

Úvahy o výkonu

Optimalizace výkonu vyhledávání

  • Incremental indexing: Přidávejte nebo aktualizujte pouze změněné soubory místo přestavby celého indexu.
  • Caching: Uchovávejte často používané výsledky dotazů v paměti.
  • Resource monitoring: Přizpůsobte haldu JVM (-Xmx2g nebo vyšší) podle velikosti indexu.

Pokyny pro využití zdrojů

  • Ukládejte složku indexu na rychlý SSD nebo NVMe disk.
  • Sledujte CPU a paměť během hromadného indexování; omezujte dávkové operace, aby nedocházelo ke špičkám.

Nejlepší postupy pro správu paměti v Javě

  • Používejte try‑with‑resources při práci s proudy.
  • Nastavte velké objekty na null po použití, aby se usnadnila garbage collection.

Závěr

Nyní máte kompletní, připravený pro produkci příklad full text search v Javě pomocí GroupDocs.Search. Od nastavení knihovny, přidání dokumentů do indexu, tvorby boolean query java výrazů až po optimalizaci výkonu vyhledávání, je pokryt každý krok.

Další kroky

Prozkoumejte pokročilejší funkce jako vlastní analyzátory, slovníky synonym a integraci cloudového úložiště v oficiální dokumentaci GroupDocs.Search.


Často kladené otázky

Q: Jaké formáty souborů GroupDocs.Search podporuje?
A: Více než 50 formátů, včetně PDF, DOCX, XLSX, PPTX, HTML, TXT a mnoha typů obrázků.

Q: Jak mám zacházet s velkými datovými sadami?
A: Rozdělte je do více indexů, aktualizujte inkrementálně a povolte cachování výsledků, aby byla latence nízká.

Q: Může GroupDocs.Search běžet v cloudových prostředích?
A: Ano — můžete nasměrovat složku indexu na připojené cloudové úložiště (např. Azure Blob, AWS S3 přes ovladač souborového systému).

Q: Jaké jsou výhody GroupDocs.Search oproti jiným knihovnám?
A: Podpora více formátů, vestavěné Boolean/phonetic dotazy a lehké Java API, které zpracovává miliony dokumentů s nízkou spotřebou paměti.

Q: Jak řešit problémy s výkonem?
A: Prohlédněte nastavení indexu, zakažte fonetické vyhledávání, pokud není potřeba, a sledujte využití paměti/CPU JVM během indexování a dotazování.

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

Zdroje

Související tutoriály