Highlight Search Results Java mit GroupDocs.Search

Wenn Sie es leid sind, manuell durch endlose Dokumente zu wühlen, bietet highlight search results java eine schnelle, zuverlässige Möglichkeit, genau das zu finden, was Sie benötigen. In diesem Tutorial führen wir Sie durch die Konfiguration eines verteilten Suchnetzwerks, das Indizieren Ihrer Dateien, das Ausführen von Abfragen und schließlich das Hervorheben der Treffer direkt in den Dokumenten. Am Ende haben Sie eine produktionsreife Lösung, die über mehrere Knoten skalieren kann und relevante Begriffe sofort hervorhebt.

Schnellantworten

  • Was bedeutet “highlight search results java”? Es bezieht sich darauf, gefundene Schlüsselwörter in Dokumenten programmgesteuert zu markieren, wenn Java‑Bibliotheken wie GroupDocs.Search verwendet werden.
  • Kann ich mehrere Begriffe im selben Dokument hervorheben? Ja – verwenden Sie HighlightOptions, um festzulegen, wie viele Begriffe vor/nach jedem Treffer angezeigt werden.
  • Benötige ich eine Lizenz, um dieses Beispiel auszuführen? Eine kostenlose Testversion oder eine temporäre Lizenz reicht für Tests; für die Produktion ist eine Volllizenz erforderlich.
  • Welche Java‑Version wird benötigt? Java 8 oder höher.
  • Ist dieser Ansatz für große Dokumentensammlungen geeignet? Absolut – das Suchnetzwerk verteilt Indexierungs‑ und Abfrage‑Last über mehrere Knoten.

Was ist Highlight Search Results Java?

Highlight search results java ist der Prozess, eine Suchanfrage zu übernehmen, passende Fragmente in Ihren Dokumenten zu finden und diese Fragmente visuell zu betonen (z. B. indem sie mit Markierungen umgeben oder als hervorgehobene Ausschnitte zurückgegeben werden). Dadurch können End‑Benutzer den Kontext jedes Treffers leicht sehen, ohne die gesamte Datei öffnen zu müssen.

Warum Highlight Search Results Java wichtig ist

Der Einsatz von highlight search results java verbessert die Benutzererfahrung, indem er genau zeigt, wo ein Begriff erscheint, die Zeit reduziert, die für das Öffnen irrelevanter Dateien aufgewendet wird, und Compliance‑Teams dabei hilft, schnell sensible Informationen zu finden. In Kombination mit einem verteilten Suchnetzwerk bleibt die Lösung reaktionsfähig, selbst wenn das Dokumentenkorpus auf Millionen anwächst.

Warum GroupDocs.Search für das Hervorheben verwenden?

GroupDocs.Search bietet eine sofort einsatzbereite, leistungsstarke Engine, die Dutzende von Dateiformaten, verteiltes Indexieren und integrierte Fragment‑Highlighter unterstützt. Sie eliminiert die Notwendigkeit, eigene Parser zu schreiben oder die Low‑Level‑Suchinfrastruktur zu verwalten, sodass Sie sich auf die Bereitstellung einer reibungslosen Benutzererfahrung konzentrieren können.

Voraussetzungen

  • Java Development Kit (JDK) 8+ – stellen Sie sicher, dass java -version 1.8 oder höher ausgibt.
  • Maven – für das Abhängigkeitsmanagement.
  • GroupDocs.Search for Java 25.4 – die in diesem Leitfaden verwendete Version.
  • Eine IDE wie IntelliJ IDEA oder Eclipse (optional, aber empfohlen).
  • Grundkenntnisse in Java und Netzwerk‑Konzepten.

Einrichtung von GroupDocs.Search für Java

Sie können die Bibliothek entweder über Maven in Ihr Projekt einbinden oder das JAR direkt herunterladen.

Maven‑Einrichtung

Add the repository and dependency to your 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>

Direkter Download

Alternativ laden Sie das neueste JAR von GroupDocs.Search for Java releases herunter.

Schritte zum Erwerb einer Lizenz

  • Free Trial: Beginnen Sie mit einer Testversion, um die Kernfunktionen zu erkunden.
  • Temporary License: Erhalten Sie eine erweiterte Testlizenz von dieser Seite.
  • Purchase: Erwerben Sie eine Volllizenz für Produktions‑Deployments.

Grundlegende Initialisierung und Einrichtung

Create an Index instance that points to a folder where the search index will be stored:

import com.groupdocs.search.*;

public class SearchSetup {
    public static void main(String[] args) {
        // Create an instance of Index
        Index index = new Index("path/to/index/directory");
        System.out.println("GroupDocs.Search initialized successfully.");
    }
}

Implementierungs‑Leitfaden

Wie man Highlight Search Results Java in einem verteilten Netzwerk hervorhebt

Konfiguration des Suchnetzwerks

First, define where your documents live and which port the network will use.

import com.groupdocs.search.common.*;
import com.groupdocs.search.scaling.configuring.*;

String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/HighlightingResultsInNetwork/";
int basePort = 49116; // Change if port is busy

Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
  • basePath – der Stammordner, der die zu indexierenden Dateien enthält.
  • basePort – der TCP‑Port für die Knotenkommunikation; wählen Sie einen freien Port.

Bereitstellung von Suchnetzwerk‑Knoten

Deploy one or more nodes based on the configuration. The first node becomes the master.

import com.groupdocs.search.scaling.*;

SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkNode masterNode = nodes[0];
  • nodes – ein Array aller laufenden Knoten.
  • masterNode – koordiniert Indexierung und Abfrageverteilung.

Abonnieren von Ereignissen der Suchnetzwerk‑Knoten

Attach listeners to the master node to receive real‑time notifications (e.g., when indexing completes).

import com.groupdocs.search.scaling.events.*;

SearchNetworkNodeEvents.subscribe(masterNode);

Indexieren von Verzeichnissen im Netzwerk‑Knoten

Point the node to the folder(s) you want to index. The helper class Utils.DocumentsPath resolves to the sample data folder.

import com.groupdocs.search.examples.Utils;
import com.groupdocs.search.options.*;

IndexingDocuments.addDirectories(masterNode, Utils.DocumentsPath);

Textsuche über Netzwerk‑Knoten hinweg

Run a query against all nodes and retrieve the matching documents.

import java.util.ArrayList;
import com.groupdocs.search.scaling.results.*;

ArrayList<NetworkFoundDocument> documents = TextSearchInNetwork.searchAll(masterNode, "ipsum", false);
highlightInDocument(masterNode, documents.get(0), 3); // Highlight results from the first found document.
  • Ersetzen Sie "ipsum" durch einen beliebigen Begriff, den Sie finden möchten.
  • Die Methode highlightInDocument (nachfolgend gezeigt) wird die Hervorhebung anwenden.

Mehrere Begriffe im Dokument hervorheben – Hervorhebung von Suchergebnissen

Die folgende Methode demonstriert, wie Fragmente um jeden Treffer herum hervorgehoben werden. Sie zeigt auch, wie die Anzahl der umgebenden Begriffe gesteuert wird, wodurch das sekundäre Schlüsselwort highlight multiple terms document erfüllt wird.

import com.groupdocs.search.highlighters.*;
import com.groupdocs.search.options.*;

public static void highlightInDocument(
    SearchNetworkNode node,
    NetworkFoundDocument document,
    int maxFragments) {
    
    Searcher searcher = node.getSearcher();
    FragmentHighlighter highlighter = new FragmentHighlighter(OutputFormat.PlainText);

    HighlightOptions options = new HighlightOptions();
    options.setTermsAfter(5);
    options.setTermsBefore(5);
    options.setTermsTotal(15);

    searcher.highlight(document, highlighter, options); // Perform highlighting on the document.

    FragmentContainer[] result = highlighter.getResult();
    for (FragmentContainer container : result) {
        if (container.getCount() == 0) continue;

        String[] fragments = container.getFragments();
        int count = Math.min(fragments.length, maxFragments);
        for (int j = 0; j < count; j++) {
            // Print each fragment within the specified limit.
        }
    }
}
  • OutputFormat.PlainText – gibt Klartext‑Ausschnitte zurück; Sie können zu HTML wechseln für eine reichhaltigere UI.
  • HighlightOptions – steuert, wie viele Wörter vor/nach jedem Treffer einbezogen werden (setTermsBefore, setTermsAfter).
  • maxFragments – begrenzt die Anzahl der Ausschnitte, die pro Dokument angezeigt werden.

Schließen von Netzwerk‑Knoten

When you’re done, shut down every node to free resources.

for (SearchNetworkNode node : nodes) {
    node.close();
}

Praktische Anwendungsfälle

  • Enterprise Document Management: Zentralisieren Sie Unternehmensdateien und ermöglichen Sie Mitarbeitern, sofort relevante Verträge oder Richtlinien zu finden.
  • Legal Case Files: Schnell relevante Vorgangsunterlagen durch Hervorheben wichtiger juristischer Begriffe finden.
  • R&D Knowledge Bases: Forscher können Patente oder Fachartikel durchsuchen und hervorgehobene Auszüge sehen.
  • E‑commerce Catalogs: Kunden ermöglichen, Produkte über Stichwörter zu finden, wobei Treffer in Beschreibungen hervorgehoben werden.
  • Library Systems: Nutzer können über tausende Bücher suchen und hervorgehobene Passagen sehen, ohne jede Datei zu öffnen.

Leistungs‑Überlegungen

  • Keep indexes fresh: Indexieren Sie geänderte Dateien nachts neu oder verwenden Sie inkrementelle Updates.
  • Leverage multiple nodes: Verteilen Sie Indexierungs‑ und Abfrage‑Last, um Engpässe zu vermeiden.
  • Tune HighlightOptions: Das Reduzieren von termsBefore/After senkt den Speicherverbrauch bei sehr großen Dokumenten.

Häufige Probleme & Fehlersuche

SymptomWahrscheinliche UrsacheLösung
Keine Ergebnisse zurückgegebenIndex nicht erstellt oder verweist auf falschen OrdnerÜberprüfen Sie Utils.DocumentsPath und führen Sie IndexingDocuments.addDirectories erneut aus
Highlight‑Ausgabe ist leerHighlightOptions‑Grenzen zu niedrig oder DokumentenkodierungsproblemErhöhen Sie termsTotal oder stellen Sie sicher, dass die Dokumentkodierung unterstützt wird
Portkonflikt‑FehlerbasePort bereits in VerwendungWählen Sie eine andere Port‑Nummer (z. B. 49117)
Lizenz‑AusnahmeFehlende oder abgelaufene LizenzdateiLegen Sie eine gültige GroupDocs.Search.lic‑Datei im Anwendungsverzeichnis ab

Häufig gestellte Fragen

Q: Kann ich mehrere Suchnetzwerk‑Knoten für Lastverteilung bereitstellen?
A: Ja, das Bereitstellen mehrerer Knoten verteilt Indexierungs‑ und Abfrage‑Arbeit, verbessert die Skalierbarkeit und die Reaktionszeit.

Q: Wie hebe ich mehrere Suchbegriffe im selben Dokument hervor?
A: Übergeben Sie eine Liste von Begriffen an die highlight‑Methode und konfigurieren Sie HighlightOptions, um um jedes Ergebnis herum Wörter anzuzeigen.

Q: Ist es möglich, sich für Echtzeit‑Suchereignisse anzumelden?
A: Absolut. Verwenden Sie SearchNetworkNodeEvents.subscribe(masterNode), um Rückrufe für Indexierungsfortschritt, Abfrageausführung und Fehler zu erhalten.

Q: Welche Dateiformate unterstützt GroupDocs.Search für das Indexieren und Hervorheben?
A: Über 50 Formate, darunter DOCX, PDF, HTML, TXT, PPTX und weitere.

Q: Wie kann ich die Suchgeschwindigkeit bei sehr großen Sammlungen verbessern?
A: Aktualisieren Sie regelmäßig die Indizes, verteilen Sie sie über Knoten und optimieren Sie HighlightOptions, um die Fragmentgröße zu begrenzen.


Zuletzt aktualisiert: 2026-03-17
Getestet mit: GroupDocs.Search for Java 25.4
Autor: GroupDocs