Jak vyhledávat dokumenty pomocí GroupDocs.Search Java

V moderních podnikových aplikacích je jak vyhledávat dokumenty rychle a přesně kritickým požadavkem. Ať už pracujete s kontrakty, zprávami nebo jakýmkoli velkým úložištěm dokumentů, GroupDocs.Search for Java vám poskytuje robustní full‑text vyhledávač s vestavěným fuzzy matching. Tento tutoriál vás provede nastavením knihovny, vytvořením indexu, přidáváním dokumentů, konfigurací fuzzy search Java a získáváním výsledků — vše s jasnými, konverzačními vysvětleními.

Rychlé odpovědi

  • Co je první krok? Nainstalujte knihovnu GroupDocs.Search Java pomocí Maven nebo si ji stáhněte přímo.
  • Jak vytvořit index? Vytvořte instanci objektu Index, který ukazuje na složku na disku; knihovna automaticky vytvoří prohledávatelnou strukturu.
  • Mohu vyhledávat s překlepy? Ano — povolte fuzzy search, aby se shodovaly termíny s pravopisnými chybami nebo mírnými odchylkami.
  • Jak přidat dokumenty? Použijte metodu add na instanci Index a předávejte složku obsahující vaše soubory.
  • Jaká verze Javy je požadována? Je podporováno JDK 8 nebo vyšší.

Co znamená „jak vyhledávat dokumenty“ v kontextu GroupDocs.Search?

„Jak vyhledávat dokumenty“ odkazuje na proces vytváření prohledávatelného indexu a zadávání dotazů, které vracejí odpovídající soubory, případně s využitím fuzzy logiky pro toleranci pravopisných chyb. GroupDocs.Search provádí tokenizaci, indexování a řazení na pozadí, takže se můžete soustředit na obchodní logiku.

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

GroupDocs.Search podporuje 30+ formátů souborů (včetně DOCX, PDF, TXT, HTML a XLSX) a dokáže indexovat více‑stovkové dokumenty bez načítání celého souboru do paměti, poskytuje odpovědi na dotazy v podsekundách na typickém serverovém hardware. Jeho funkce fuzzy search zlepšuje uživatelský zážitek tím, že vrací relevantní výsledky i při překlepových dotazech.

Předpoklady

  • Java Development Kit (JDK): verze 8 nebo novější.
  • IDE: IntelliJ IDEA, Eclipse nebo jakýkoli Java‑kompatibilní editor.
  • GroupDocs.Search for Java library: přidejte pomocí Maven (doporučeno) nebo stáhněte JAR.

Jak nastavit GroupDocs.Search pro Javu?

Pro začátek přidejte závislost GroupDocs.Search do vašeho souboru sestavení, ujistěte se, že je URL repozitáře dostupná, a ověřte, že verze JDK splňuje minimální požadavek. Po vyřešení knihovny můžete importovat její třídy ve vašem kódu a vytvořit složku indexu na disku, kde budou uložena všechna prohledávatelná data.

Nastavení Maven

Přidejte repozitář a závislost do souboru pom.xml přesně tak, jak je uvedeno v originálním návodu.

<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í

Alternativně získáte JAR z oficiální stránky vydání:

GroupDocs.Search for Java releases

GroupDocs.Search Documentation

Jak vytvořit index?

Vytvořte trvalou složku indexu, kde GroupDocs.Search ukládá tokenizovaná data. Načtěte svůj první index jedním řádkem kódu — new Index("path/to/indexFolder"). Třída Index je hlavní komponentou, která představuje prohledávatelnou kolekci dokumentů v paměti i na disku.

   import com.groupdocs.search.*;

   String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Searching/SearchResults";
   Index index = new Index(indexFolder);

Jak přidat dokumenty do indexu?

Použijte metodu add instance Index, aby ukazovala na složku obsahující vaše zdrojové soubory. Engine bude rekurzivně prohledávat podporované formáty, extrahovat textový obsah a aktualizovat interní struktury. Tento jediný volání efektivně zpracuje velké dávky, čímž eliminuje potřebu ručního zpracování soubor po souboru.

   String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
   index.add(documentFolder);

Jak nakonfigurovat Fuzzy Search Java?

Třída FuzzySearchOptions definuje parametry jako edit distance a délka prefixu, které řídí, jak tolerantní je vyhledávání k pravopisným chybám. Objekt SearchOptions seskupuje všechna nastavení během vyhledávání, včetně fuzzy možností, limitů výsledků a preferencí zvýraznění. Povolením fuzzy matching nastavíte FuzzySearchOptions na objekt SearchOptions. Tím řeknete enginu, aby zvažoval termíny v nastavitelném edit distance, což dělá vyhledávání tolerantním k pravopisným chybám.

  String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Searching/SearchResults";
  Index index = new Index(indexFolder);

Jak provést vyhledávací operaci?

Zavolejte metodu search na objektu Index, přičemž poskytnete řetězec dotazu a nakonfigurovaný SearchOptions. Engine zpracuje požadavek, použije fuzzy matching, pokud je povoleno, a seřadí výsledky podle relevance. Operace se dokončí rychle i u velkých indexů, protože vyhledávání probíhá na předem vytvořených tokenových strukturách. Metoda vrací kolekci SearchResult, která obsahuje odpovídající dokumenty, počet výskytů a zvýrazněné úryvky.

  String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
  index.add(documentFolder);

Jak zpracovat a zobrazit výsledky vyhledávání?

SearchResult je kolekce, která obsahuje jednotlivé objekty SearchResultItem, z nichž každý popisuje odpovídající dokument, počet výskytů a zvýrazněné úryvky. Procházejte položky SearchResult a vypište cestu každého dokumentu, počet výskytů a odpovídající fráze. Tento jednoduchý cyklus vám umožní vytvořit UI tabulky, logy nebo API odpovědi, které přesně ukazují, proč byl dokument vybrán.

  import com.groupdocs.search.options.*;

  SearchOptions options = new SearchOptions();
  options.getFuzzySearch().setEnabled(true);
  options.getFuzzySearch().setFuzzyAlgorithm(new TableDiscreteFunction(3));

Praktické aplikace

Reálné scénáře, kde jak vyhledávat dokumenty má význam:

  1. Správa právních dokumentů: Najděte klauzule nebo strany napříč tisíci smluv během sekund.
  2. Akademický výzkum: Získejte relevantní články i když je vyhledávací termín překlep.
  3. Enterprise Content Management: Pohánějte interní portály rychlým, tolerantním vyhledáváním s překlepy napříč zprávami, e‑maily a prezentacemi.

Úvahy o výkonu

  • Obnovení indexu: Znovu spusťte add nebo update, kdykoli se změní zdrojové soubory, aby byly výsledky aktuální.
  • Správa paměti: GroupDocs.Search streamuje velké soubory, takže paměťová zátěž zůstává nízká i pro PDF s 500 stránkami.
  • Dílené indexování: Rozdělte obrovské korpusy do více složek indexu, aby se paralelizovalo zpracování a zlepšila latence dotazů.

Často kladené otázky

Q: Co je fuzzy search Java a proč je užitečný?
A: Fuzzy search Java umožňuje přibližné porovnání řetězců, což umožňuje dotazům vracet výsledky i přes překlepy nebo alternativní pravopisy, čímž se zlepšuje uživatelský zážitek.

Q: Jak aktualizuji svůj index po přidání nových souborů?
A: Znovu zavolejte index.add("new/files/folder"); knihovna inteligentně sloučí nový obsah bez přestavby celého indexu.

Q: Dokáže GroupDocs.Search zpracovat PDF chráněné heslem?
A: Ano — poskytněte heslo v DocumentLoadOptions při přidávání souboru a engine dešifruje a indexuje obsah.

Q: Existuje limit na počet dokumentů, které mohu indexovat?
A: Knihovna škáluje na miliony souborů; výkon závisí na hardware a úložišti, ne na pevně daném limitu.

Q: Kde najdu pokročilejší příklady?
A: Navštivte oficiální dokumentaci pro podrobnější témata, jako jsou vlastní analyzátory a řazení výsledků.

Závěr

Nyní víte jak vyhledávat dokumenty pomocí GroupDocs.Search pro Javu, od vytvoření indexu po povolení fuzzy search Java a zpracování výsledků. Implementujte tyto kroky a poskytujte rychlé, tolerantní vyhledávání s překlepy v jakékoli aplikaci založené na Javě.


Poslední aktualizace: 2026-05-28
Testováno s: GroupDocs.Search 23.10 for Java
Autor: GroupDocs

  String query = "water OR \"Lorem ipsum\"";
  SearchResult result = index.search(query, options);
  for (int i = 0; i < result.getDocumentCount(); i++) {
      FoundDocument document = result.getFoundDocument(i);
      System.out.println("\tDocument: " + document.getDocumentInfo().getFilePath());
      System.out.println("\tOccurrences: " + document.getOccurrenceCount());

      for (FoundDocumentField field : document.getFoundFields()) {
          System.out.println("\t\tField: " + field.getFieldName());
          if (field.getTerms() != null) {
              for (int k = 0; k < field.getTerms().length; k++) {
                  System.out.println("\t\t\t" + field.getTerms()[k] + " - " + field.getTermsOccurrences()[k]);
              }
          }
      }
  }

Související tutoriály