Zvýraznění textu java pomocí GroupDocs.Search
V moderních podnikových aplikacích je highlight text java nezbytný pro převod surových výsledků vyhledávání na okamžitě čitelné poznatky. Ať už vytváříte portál pro právní revizi, akademický výzkumný engine nebo dashboard zákaznické podpory, schopnost najít a vizuálně zdůraznit dotazové termíny šetří uživatelům nespočet sekund ručního procházení. Tento tutoriál vám ukáže, jak použít GroupDocs.Search for Java k search documents java, index documents java a aplikovat jak zvýraznění na úrovni celého dokumentu, tak na úrovni fragmentu, vše pomocí několika řádků kódu.
Rychlé odpovědi
- Co znamená „search and highlight text“? Znamená to vyhledání dotazových termínů uvnitř dokumentu a jejich vizuální zdůraznění (například pomocí barevného pozadí).
- Která knihovna tuto funkci poskytuje? GroupDocs.Search for Java.
- Potřebuji licenci? Bezplatná zkušební verze funguje pro hodnocení; pro produkční použití je vyžadována plná licence.
- Mohu přizpůsobit barvy zvýraznění? Ano – libovolná barva RGB může být nastavena pomocí
HighlightOptions. - Je podporováno zvýraznění fragmentů? Rozhodně; můžete definovat termíny před a po shodě pro vytvoření stručných úryvků.
Jak zvýraznit text java v dokumentech
Pro zvýraznění textu java v dokumentech nejprve vytvořte index zdrojových souborů pomocí vhodných nastavení komprese, poté spusťte vyhledávací dotaz pro nalezení požadovaných termínů a nakonec exportujte výsledky do HTML, PDF nebo prostého textu, přičemž každá shoda je obalena značkou zvýraznění. Tento tříkrokový proces zajišťuje rychlé a přesné zvýraznění napříč velkými kolekcemi.
- Vytvořit index s nastavením komprese, které udržuje nízkou velikost úložiště.
- Spustit vyhledávání pomocí řetězce dotazu, který chcete zvýraznit.
- Generovat výstup (HTML, PDF nebo prostý text), kde je každá výskyt dotazového termínu obalen značkou zvýraznění.
Co je vyhledávání a zvýraznění textu?
Vyhledávání a zvýraznění textu je proces skenování indexované kolekce pro daný dotaz, získání odpovídajících dokumentů a následné označení každého výskytu dotazového termínu ve výstupu (HTML, PDF atd.). Tento vizuální podnět pomáhá koncovým uživatelům okamžitě najít relevantní informace.
Proč používat GroupDocs.Search pro Java?
GroupDocs.Search pro Java poskytuje vysoce výkonné indexování (až 50 GB na index s Compression.High), bohaté zvýraznění, které funguje na celých dokumentech i vlastních fragmentech, a podporu napříč formáty pro více než 30 typů souborů – včetně DOCX, PDF, PPTX a TXT. Knihovna také nabízí inkrementální indexování, které vám umožní přidávat nové soubory bez přestavby celého indexu, což snižuje dobu nečinnosti až o 80 % při rozsáhlých nasazeních.
Požadavky
- Java Development Kit (JDK) 8 nebo novější.
- Maven pro správu závislostí.
- IDE jako IntelliJ IDEA nebo Eclipse.
- Základní znalost syntaxe Javy.
Nastavení GroupDocs.Search pro Java
Add the GroupDocs repository and dependency to your pom.xml:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>25.4</version>
</dependency>
Můžete také stáhnout nejnovější JAR přímo z oficiálního webu: Vydání GroupDocs.Search pro Java.
Získání licence
Začněte s bezplatnou zkušební verzí nebo si pořiďte dočasnou licenci pro hodnocení. Pro produkční nasazení zakupte plnou licenci, která odemkne všechny funkce.
Průvodce implementací
Implementace je rozdělena do dvou praktických částí: zvýraznění v celých dokumentech a zvýraznění ve fragmentech. Obě části zahrnují nezbytné kroky pro jak zvýraznit Java dokumenty pomocí GroupDocs.Search.
Konfigurace nastavení indexu
Před indexováním nakonfigurujte úložiště tak, aby používalo vysokou kompresi – to snižuje využití disku až o 70 % při zachování rychlosti vyhledávání.
IndexSettings je konfigurační objekt, který řídí, jak je index uložen na disku. Nastavte Compression na Compression.High, aby se povolila tato optimalizace.Compression určuje úroveň datové komprese aplikované na soubory indexu, přičemž Compression.High poskytuje maximální zmenšení velikosti.
Zvýraznění v celých dokumentech
Krok 1: vytvořit a naplnit index
Vytvořte složku indexu a přidejte všechny zdrojové soubory, které chcete prohledávat. Třída Index představuje prohledávatelný kontejner.
Krok 2: provést vyhledávání a aplikovat zvýraznění
Vyhledejte termín (např. ipsum) a vygenerujte HTML soubor se zvýrazněnými shodami. Použijte HighlightOptions k určení barvy zvýraznění a zda použít inline styly.
HighlightOptions vám umožňuje definovat barvy popředí a pozadí, stejně jako CSS třídu, která bude aplikována na každý zvýrazněný termín.
HtmlHighlighter generuje HTML výstup se zvýrazněnými termíny na základě poskytnutých možností.SearchResult obsahuje seznam odpovídajících dokumentů a pozice každého nalezeného termínu.
Přímá odpověď: Načtěte svůj index, zavolejte search("ipsum") a předáte výsledný SearchResult spolu s nakonfigurovanou instancí HighlightOptions do HtmlHighlighter. Highlighter vrátí HTML, kde je každá výskyt „ipsum“ obalený <span> s vybranou barvou pozadí.
Klíčové možnosti vysvětleny
- Compression – vysoká komprese šetří úložiště.
- HighlightColor – nastavte libovolnou RGB hodnotu, aby odpovídala vaší UI paletě.
- UseInlineStyles –
falsegeneruje čisté HTML, které lze stylovat globálně pomocí CSS.
Zvýraznění ve fragmentech
Krok 1: indexovat a vyhledat (stejné jako výše)
Stejné kroky indexování a vyhledávání se použijí; znovu použijete objekty Index a SearchResult.
Krok 2: definovat kontext fragmentu a zvýraznit
Určete, kolik termínů před a po shodě se má objevit v každém fragmentu pomocí FragmentOptions.
FragmentOptions řídí počet okolních slov (termsBefore a termsAfter), která jsou zahrnuta v každém úryvku, což vám umožní vyvážit kontext oproti délce úryvku.
Krok 3: získat a zapsat zvýrazněné fragmenty
Shromážděte vygenerované fragmenty a zapište je do HTML souboru. Každý fragment je již zvýrazněn podle HighlightOptions, které jste nakonfigurovali.
fragmentHighlighter je nástroj, který vytváří zvýrazněné úryvky z SearchResult pomocí specifikovaných možností fragmentu a zvýraznění.
Přímá odpověď: Po získání SearchResult zavolejte fragmentHighlighter.highlight(searchResult, fragmentOptions, highlightOptions). Metoda vrátí seznam HTML úryvků, z nichž každý obsahuje shodný termín obklopený nastaveným počtem kontextových slov a zvýrazněný vybranou barvou.
Praktické aplikace
- Právní revize dokumentů – okamžitě zvýraznit zákony, klauzule nebo odkazy na případy napříč tisíci smluv.
- Akademický výzkum – zobrazit klíčovou terminologii napříč desítkami PDF a Word souborů, čímž se zkrátí doba literární revize až o 60 %.
- Zákaznická podpora – identifikovat čísla objednávek nebo chybové kódy v historii tiketů, což umožní operátorům rychleji řešit problémy.
Úvahy o výkonu
- Velikost indexu – vysoká komprese (
Compression.High) snižuje velikost na disku až o 70 % bez znatelného dopadu na latenci. - Kontext fragmentu – větší hodnoty
termsBefore/Afterzvyšují čitelnost úryvků, ale mohou přidat 10–15 ms na dotaz. - Správa paměti – monitorujte JVM heap při indexování velkých korpusů; zvažte inkrementální indexování pro datové sady přesahující 2 GB, aby využití paměti zůstalo pod 1 GB.
Časté problémy a řešení
- Chyby při indexování – ověřte cesty k souborům a zajistěte, aby aplikace měla oprávnění číst/zapisovat do složky indexu.
- Nezobrazují se zvýraznění – potvrďte, že
UseInlineStylesodpovídá vašemu výstupnímu formátu (HTML vs. PDF). - Barva není aplikována – ujistěte se, že RGB hodnoty jsou v rozmezí 0‑255 a že prohlížeč respektuje inline CSS nebo dodanou CSS třídu.
Často kladené otázky
Q: Jaké jsou výhody používání GroupDocs.Search pro Java?
A: Nabízí rychlé, škálovatelné indexování, přizpůsobitelné zvýraznění a podporu více než 30 formátů dokumentů, zpracovává soubory o 500 stránkách za méně než 2 sekundy na typickém serveru.
Q: Jak mohu integrovat GroupDocs.Search s REST API?
A: Zveřejněte metody vyhledávání a zvýraznění prostřednictvím Spring Boot controllerů, které vracejí HTML úryvky nebo JSON payloady obsahující zvýrazněné fragmenty.
Q: Zvládá knihovna soubory chráněné heslem?
A: Ano – poskytněte heslo při přidávání dokumentu do indexu pomocí addDocument(filePath, password).
Q: Mohu přizpůsobit značku zvýraznění mimo barvu?
A: Rozhodně; můžete přiřadit CSS třídu pomocí options.setCssClass("myHighlight") a stylovat ji globálně, nebo upravit vygenerované HTML po zvýraznění.
Q: Která verze byla pro tento návod testována?
A: Kód byl ověřen proti GroupDocs.Search 25.4.
Q: Jak nastavit highlight options java tak, aby používaly CSS třídu místo inline stylů?
A: Zavolejte options.setUseInlineStyles(false) a definujte CSS pravidlo pro třídu, kterou přiřadíte pomocí options.setCssClass("myHighlight").
Q: Existuje způsob, jak přímo zvýraznit termíny v PDF výstupu?
A: Ano – GroupDocs.Search pracuje s PDF vstupem a highlighter generuje HTML, které lze vložit do PDF prohlížeče nebo přeconvertovat do PDF pomocí GroupDocs.Conversion.
Poslední aktualizace: 2026-09-27
Testováno s: GroupDocs.Search 25.4
Autor: GroupDocs
<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>
IndexSettings settings = new IndexSettings();
settings.setTextStorageSettings(new TextStorageSettings(Compression.High));
String indexFolder = "/path/to/your/document/directory/HighlightingInEntireDocument";
Index index = new Index(indexFolder, settings);
index.add("/path/to/your/documents");
SearchResult result = index.search("ipsum");
if (result.getDocumentCount() > 0) {
FoundDocument document = result.getFoundDocument(0);
OutputAdapter outputAdapter = new FileOutputAdapter(OutputFormat.Html, "/path/to/your/output/directory/Highlighted.html");
Highlighter highlighter = new DocumentHighlighter(outputAdapter);
HighlightOptions options = new HighlightOptions();
options.setHighlightColor(new Color(150, 255, 150)); // Custom green shade
options.setUseInlineStyles(false); // Prefer CSS for styling
index.highlight(document, highlighter, options);
}
String indexFolder = "/path/to/your/document/directory/HighlightingInFragments";
Index index = new Index(indexFolder, settings);
index.add("/path/to/your/documents");
SearchResult result = index.search("ipsum");
HighlightOptions options = new HighlightOptions();
options.setTermsBefore(5); // Include 5 terms before the match
options.setTermsAfter(5); // Include 5 terms after the match
options.setHighlightColor(new Color(127, 200, 255)); // Custom blue shade
options.setUseInlineStyles(true); // Use inline styles for emphasis
FoundDocument document = result.getFoundDocument(0);
FragmentHighlighter highlighter = new FragmentHighlighter(OutputFormat.Html);
index.highlight(document, highlighter, options);
StringBuilder stringBuilder = new StringBuilder();
FragmentContainer[] fragmentContainers = highlighter.getResult();
for (FragmentContainer container : fragmentContainers) {
String[] fragments = container.getFragments();
if (fragments.length > 0) {
stringBuilder.append("\n<br>").append(container.getFieldName()).append("<br>\n");
for (String fragment : fragments) {
stringBuilder.append(fragment).append("\n");
}
}
}
try {
Files.write(Paths.get("/path/to/your/output/directory/Fragments.html"), stringBuilder.toString().getBytes());
} catch (IOException ex) {
// Handle exceptions
}