them.
Now write final answer.# Wyróżnianie tekstu Java za pomocą GroupDocs.Search
W dzisiejszym szybkim środowisku cyfrowym możliwość highlight text java w dużych zbiorach plików jest niezbędną funkcją. Niezależnie od tego, czy tworzysz platformę do przeglądu prawnego, silnik badań akademickich, czy konsolę wsparcia klienta, natychmiastowe wykrywanie terminów, których szukają użytkownicy, znacznie zwiększa efektywność. Ten samouczek przeprowadzi Cię przez użycie GroupDocs.Search for Java do search documents java, index documents java, oraz zastosowania bogatego wyróżniania — zarówno dla całych dokumentów, jak i wybranych fragmentów.
Szybkie odpowiedzi
- What does “search and highlight text” mean? Oznacza to lokalizowanie terminów zapytania w dokumencie i wizualne podkreślanie ich (np. kolorem tła).
- Which library provides this capability? GroupDocs.Search for Java.
- Do I need a license? Darmowa wersja próbna wystarczy do oceny; pełna licencja jest wymagana w środowisku produkcyjnym.
- Can I customize highlight colors? Tak — dowolny kolor RGB można ustawić za pomocą
HighlightOptions. - Is fragment highlighting supported? Absolutnie; możesz określić liczbę terminów przed i po dopasowaniu, aby stworzyć zwięzłe fragmenty.
Jak wyróżniać tekst Java w dokumentach
Wyróżnianie tekstu Java obejmuje trzy podstawowe kroki:
- Index the source files tak, aby można je było szybko przeszukiwać.
- Run a query przeciwko indeksowi, aby znaleźć pasujące dokumenty.
- Render the results with visual cues przy użyciu API highlightera.
Poniżej omawiamy każdy krok szczegółowo, najpierw dla wyjścia całego dokumentu, a następnie dla fragmentów.
Co to jest wyszukiwanie i wyróżnianie tekstu?
Wyszukiwanie i wyróżnianie tekstu to proces skanowania indeksu dokumentów pod kątem podanego zapytania, pobierania pasujących dokumentów i oznaczania każdego wystąpienia terminu zapytania w wyjściu dokumentu (HTML, PDF itp.). Ten wizualny sygnał pomaga użytkownikom natychmiast zauważyć istotne informacje.
Dlaczego używać GroupDocs.Search for Java?
- High‑performance indexing z konfigurowalną kompresją (
index documents java). - Rich highlighting API działające na całych dokumentach i na niestandardowych fragmentach (
highlight search terms java). - Cross‑format support (DOCX, PDF, PPTX, TXT i inne).
- Simple Maven integration oraz czysty, Java‑centric design.
Wymagania wstępne
- Java Development Kit (JDK) 8 lub nowszy.
- Maven do zarządzania zależnościami.
- IDE, takie jak IntelliJ IDEA lub Eclipse.
- Podstawowa znajomość składni Java.
Konfiguracja GroupDocs.Search for Java
Dodaj repozytorium GroupDocs i zależność do swojego 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>
Możesz także pobrać najnowszy plik JAR bezpośrednio z oficjalnej strony: GroupDocs.Search for Java releases.
Uzyskanie licencji
Rozpocznij od wersji próbnej lub uzyskaj tymczasową licencję do oceny. W przypadku wdrożeń produkcyjnych zakup pełnej licencji odblokuje wszystkie funkcje.
Przewodnik po implementacji
Implementacja podzielona jest na dwie praktyczne sekcje: highlighting in entire documents oraz highlighting in fragments. Obie sekcje zawierają niezbędne kroki do how to highlight Java dokumentów przy użyciu GroupDocs.Search.
Konfiguracja ustawień indeksu
Przed indeksowaniem skonfiguruj magazyn, aby używał wysokiej kompresji — zmniejsza to zużycie dysku przy zachowaniu szybkości wyszukiwania.
IndexSettings settings = new IndexSettings();
settings.setTextStorageSettings(new TextStorageSettings(Compression.High));
Wyróżnianie w całych dokumentach
Krok 1: Utwórz i wypełnij indeks
Utwórz folder indeksu i dodaj wszystkie pliki źródłowe, które chcesz przeszukiwać.
String indexFolder = "/path/to/your/document/directory/HighlightingInEntireDocument";
Index index = new Index(indexFolder, settings);
index.add("/path/to/your/documents");
Krok 2: Wykonaj wyszukiwanie i zastosuj wyróżnianie
Wyszukaj termin (np. ipsum) i wygeneruj plik HTML z wyróżnionymi dopasowaniami.
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);
}
Key options explained
- Compression – wysoka kompresja oszczędza miejsce na dysku.
- HighlightColor – ustaw dowolną wartość RGB, aby dopasować ją do palety UI.
- UseInlineStyles –
falsegeneruje czysty HTML, który można stylować globalnie za pomocą CSS.
Wyróżnianie w fragmentach
Krok 1: Indeksowanie i wyszukiwanie (takie same jak powyżej)
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");
Krok 2: Zdefiniuj kontekst fragmentu i wyróżnij
Określ, ile terminów przed i po dopasowaniu ma się pojawić w każdym fragmencie.
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);
Krok 3: Pobierz i zapisz wyróżnione fragmenty
Zbierz wygenerowane fragmenty i zapisz je do pliku HTML.
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
}
Praktyczne zastosowania
- Legal Document Review – natychmiastowe wyróżnianie ustaw, klauzul lub odniesień do spraw.
- Academic Research – wyświetlanie kluczowej terminologii w dziesiątkach plików PDF i Word.
- Customer Support – szybkie odnajdywanie numerów zamówień lub kodów błędów w historii zgłoszeń.
Rozważania dotyczące wydajności
- Index Size – wysoka kompresja (
Compression.High) zmniejsza rozmiar dysku. - Fragment Context – większe wartości
termsBefore/Afterzwiększają precyzję, ale mogą wpływać na szybkość. - Memory Management – monitoruj pamięć JVM przy indeksowaniu dużych korpusów; rozważ indeksowanie przyrostowe dla bardzo dużych zestawów.
Częste problemy i rozwiązania
- Indexing Errors – sprawdź ścieżki plików i upewnij się, że aplikacja ma uprawnienia do odczytu/zapisu.
- No Highlights Appear – potwierdź, że
UseInlineStylesjest zgodny z formatem wyjściowym (HTML vs. PDF). - Color Not Applied – upewnij się, że wartości RGB mieszczą się w przedziale 0‑255 oraz że przeglądarka HTML obsługuje dany styl.
Najczęściej zadawane pytania
Q: What are the benefits of using GroupDocs.Search for Java?
A: Oferuje szybkie, skalowalne indeksowanie, konfigurowalne wyróżnianie oraz wsparcie dla wielu formatów dokumentów.
Q: How can I integrate GroupDocs.Search with a REST API?
A: Udostępnij metody wyszukiwania i wyróżniania poprzez kontrolery Spring Boot, zwracając ładunki HTML lub JSON.
Q: Does the library handle password‑protected files?
A: Tak — podaj hasło przy dodawaniu dokumentu do indeksu.
Q: Can I customize the highlight markup beyond color?
A: Oczywiście; możesz wstrzykiwać klasy CSS za pomocą HighlightOptions lub modyfikować HTML po wygenerowaniu.
Q: What version was tested for this guide?
A: Kod został zweryfikowany pod kątem GroupDocs.Search 25.4.
Q: How do I set highlight options java to use a CSS class instead of inline styles?
A: Ustaw options.setUseInlineStyles(false) i dodaj regułę CSS dla klasy, którą przypiszesz poprzez options.setCssClass("myHighlight").
Q: Is there a way to highlight terms pdf java directly when the source is a PDF?
A: Tak — GroupDocs.Search działa z wejściem PDF, a highlighter wygeneruje HTML, który możesz osadzić w przeglądarce PDF lub przekonwertować z powrotem do PDF przy użyciu GroupDocs.Conversion.
Last Updated: 2026-02-27
Tested With: GroupDocs.Search 25.4
Author: GroupDocs