Fulltextové vyhledávání je způsob prohledávání textu/dotazu ve sbírce dokumentů. Tento přístup rychle najde všechny výskyty termínu/fráze a funguje pomocí textových indexů. V tomto článku se naučíme, jak programově fulltextově vyhledávat v dokumentech pomocí Javy.

Poté můžete implementovat různé vyhledávací techniky a vytvořit své vyhledávací řešení pro textové dokumenty, tabulky, prezentace, soubory HTML, soubory PDF, elektronické knihy, e-mailové zprávy, archivy ZIP a mnoho dalších formátů dokumentů.
Níže jsou uvedena následující témata:
- Java API pro fulltextové vyhledávání
- Fulltextové vyhledávání
- Proveďte vyhledávání v Java
- Zvýrazněte výsledky hledání
Java API pro fulltextové vyhledávání
GroupDocs.Search poskytuje fulltextové vyhledávání Java API, které lze integrovat do jakékoli aplikace bez jakéhokoli nástroje třetí strany a závislosti na softwaru. Umožňuje vám prohledávat velký seznam formátů dokumentů. Některé z vyhledávacích technik, které lze provádět pomocí API, jsou následující:
- Vyhledávání rozlišující malá a velká písmena
- Vyhledávání regulárních výrazů
- Fasetované vyhledávání
- Fuzzy vyhledávání
- Vyhledávání homofonů
- Synonymum Hledat
Stáhnout nebo Konfigurovat
Soubor JAR si můžete stáhnout z části ke stažení nebo si můžete stáhnout nejnovější úložiště a konfigurace závislostí pro pom.xml vašich Java aplikací založených na maven.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>21.3</version>
</dependency>
Fulltextové vyhledávání pomocí Javy
Existují dva kroky k provedení vyhledávání v souborech uložených ve složce.
- Indexování
- Proveďte vyhledávání
Indexujte soubory pomocí Javy
Rejstřík obsahuje naskenovaný text všech dokumentů. Proto, když se chystáte provést operaci vyhledávání, odkazuje se pouze na rejstřík, nikoli na text původních dokumentů. Aby bylo možné okamžitě vyhledávat v tisících dokumentů se stejnými nebo různými formáty souborů, musíte vytvořit rejstřík a tyto dokumenty do něj přidat. Když jsou dokumenty indexovány, index je připraven zpracovat vyhledávací dotazy.
Následující jednoduché dva řádky vytvoří rejstřík a také přidají složku dokumentů do rejstříku.
Index index = new Index("indexingFolderPath");
index.add("documentsFolderPath");
Proveďte vyhledávání v Java
Po indexování více dokumentů ve stejných nebo různých formátech, jako je (Word, PDF, Excel a HTML), můžeme přejít ke zpracování konkrétního vyhledávacího dotazu (hledaný výraz „Draw“) nad nimi. Níže jsou uvedeny kroky, jak provést textové vyhledávání ve více dokumentech ve složce pomocí Java:
- Určete zdrojovou složku dokumentů a složku indexu.
- Vytvořte Index pomocí složky indexu.
- Přidejte zdrojovou složku do indexu.
- Připravte řetězec dotazu.
- Proveďte vyhledávání pomocí metody search třídy Index.
- Procházejte jednotlivé výsledky vyhledávání pro vlastnosti každého dokumentu.
Následující zdrojový kód provádí textové vyhledávání v jazyce Java ve všech dokumentech poskytnuté složky.
// Prohledávejte zadaný text ve více PDF, Word, Excel, HTML dokumentech ve složce pomocí Java
Index index = new Index("path/indexingFolder");
index.add("path/documentsFolderPath");
// Hledání zadaného textu v rejstříku
SearchResult result = index.search("Draw");
for (int i = 0; i < result.getDocumentCount(); i++) {
FoundDocument document = result.getFoundDocument(i);
System.out.println("Document Path: " + document.getDocumentInfo().getFilePath());
System.out.println("Occurrence : " + document.getOccurrenceCount());
}
Získáme cestu k dokumentu a počet výskytů hledaných výrazů ve všech dokumentech se zadanou složkou. Zde je snímek obrazovky pro vizualizaci.

Zvýrazněte výsledky textového vyhledávání v Java
Pojďme nyní provést stejné fulltextové vyhledávání a také zvýraznit všechny výskyty, které odpovídají vašemu dotazu.
Následující kroky ukazují, jak zvýraznit výsledky textového vyhledávání:
- Vytvořte Indexa přidejte složku dokumentů do indexu.
- Připravte řetězec dotazu.
- Prohledejte složku dokumentů pomocí metody search.
- Při procházení výsledků vytvořte zvýrazňovač pomocí HtmlHighlighter.
- Ke zvýraznění výsledků vyhledávání použijte metodu zvýraznění.
Následující kód generuje výstup HTML se zvýrazněnými výsledky vyhledávání pomocí jazyka Java.
// Zvýrazněte výsledky fulltextového vyhledávání více dokumentů ve složce v Java
Index index = new Index("path/indexingFolder");
index.add("path/documentsFolderPath"); // Synchronous indexing documents from the specified folder
String query = "draw"; // Specify a search query
SearchResult result = index.search(query); // Searching in the index
for (int i = 0; i < result.getDocumentCount(); i++)
{
FoundDocument document = result.getFoundDocument(i);
String path = "path/Highlighted-"+ i +".html";
OutputAdapter outputAdapter = new FileOutputAdapter(path);
HtmlHighlighter highlighter = new HtmlHighlighter(outputAdapter); // Creating the highlighter
index.highlight(document, highlighter); // Generates HTML formatted output document with highlighted search results
}
Jako výstup získáme více HTML souborů. Každý soubor zobrazí obsah samostatného dokumentu (např. excel.xlsx, source.docx, target.docx) se zvýrazněnými hledanými výrazy/slovy. Níže je uveden zvýrazněný HTML výstup souboru DOCX, souboru TXT a souboru PDF získaného pomocí výše uvedeného kódu.

Získejte bezplatnou licenci API
Můžete získat bezplatnou dočasnou licenci, abyste mohli používat API bez omezení hodnocení.
Závěr
V tomto článku jsme se naučili prohledávat text ve více dokumentech složky v Java. Dále jsme diskutovali o tom, jak programově zvýraznit text výsledků vyhledávání ve formátu HTML pro soubory MS Word, TXT a soubory PDF pomocí GroupDocs.Search for Java.
Více o API se můžete dozvědět pomocí dokumentace. Mnoho dalších příkladů je k dispozici na GitHub. V případě dotazů nás kontaktujte prostřednictvím fóra.