Hervorheben von Suchergebnissen 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 verfügen Sie über eine produktionsreife Lösung, die über mehrere Knoten skalieren kann und relevante Begriffe sofort hervorhebt.

Schnellantworten

  • Was bedeutet „highlight search results java“? Es bezeichnet das programmatische Markieren gefundener Schlüsselwörter in Dokumenten bei der Verwendung von Java‑Bibliotheken wie GroupDocs.Search.
  • 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 Test‑ oder temporäre Lizenz reicht für Tests; für die Produktion ist eine Voll‑Lizenz 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 Index‑ und Abfrage‑Lasten auf mehrere Knoten.

Was ist Highlight Search Results Java?

Highlight search results java ist der Vorgang, eine Suchanfrage zu nehmen, passende Textfragmente in Ihren Dokumenten zu finden und diese Fragmente visuell zu betonen (z. B. durch Markierungen oder als hervorgehobene Snippets zurückzugeben). Dadurch können End‑Benutzer den Kontext jedes Treffers sehen, ohne die gesamte Datei öffnen zu müssen.

Warum GroupDocs.Search für das Hervorheben verwenden?

GroupDocs.Search stellt eine sofort einsatzbereite, leistungsstarke Engine bereit, die Dutzende von Dateiformaten, verteiltes Indexieren und integrierte Fragment‑Highlighter unterstützt. Sie erspart das Schreiben eigener Parser oder das Verwalten einer Low‑Level‑Suchinfrastruktur, sodass Sie sich auf ein reibungsloses Benutzererlebnis 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 Dependency‑Management.
  • 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.

GroupDocs.Search für Java einrichten

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

Maven‑Setup

Fügen Sie das Repository und die Abhängigkeit zu Ihrer pom.xml hinzu:

<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 aktuelle JAR von GroupDocs.Search for Java releases herunter.

Schritte zum Lizenzieren

  • Kostenlose Testversion: Beginnen Sie mit einer Testlizenz, um die Kernfunktionen zu erkunden.
  • Temporäre Lizenz: Holen Sie sich eine erweiterte Testlizenz von dieser Seite.
  • Kauf: Erwerben Sie eine Voll‑Lizenz für Produktions‑Deployments.

Grundlegende Initialisierung und Setup

ErstellenInstanz, die auf einen Ordner zeigt, in dem der Suchindex gespeichert wird:

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 verwendet

Konfiguration des Suchnetzwerks

Zuerst definieren Sie, wo Ihre Dokumente liegen und welchen Port das Netzwerk nutzt.

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 – das Stammverzeichnis, das die zu indexierenden Dateien enthält.
  • basePort – der TCP‑Port für die Knoten‑Kommunikation; wählen Sie einen freien Port.

Bereitstellung von Suchnetzwerk‑Knoten

Stellen Sie ein oder mehrere Knoten basierend auf der Konfiguration bereit. Der erste Knoten wird zum 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 das Indexieren und die Verteilung von Abfragen.

Abonnieren von Ereignissen der Suchnetzwerk‑Knoten

Binden Sie Listener an den Master‑Knoten, um Echtzeit‑Benachrichtigungen zu erhalten (z. B. wenn das Indexieren abgeschlossen ist).

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

SearchNetworkNodeEvents.subscribe(masterNode);

Indexieren von Verzeichnissen im Netzwerk‑Knoten

Geben Sie dem Knoten das/die Verzeichnis(se) an, das/die Sie indexieren möchten. Die Hilfsklasse Utils.DocumentsPath verweist auf den Beispiel‑Datenordner.

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

IndexingDocuments.addDirectories(masterNode, Utils.DocumentsPath);

Textsuche über Netzwerk‑Knoten hinweg

Führen Sie eine Abfrage über alle Knoten aus und holen Sie die passenden Dokumente.

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 jeden Begriff, den Sie finden möchten.
  • Die Methode highlightInDocument (im nächsten Abschnitt gezeigt) wendet das Hervorheben an.

Mehrere Begriffe im Dokument hervorheben – Highlighting Search Results

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

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 reine Text‑Snippets 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 Snippets, die pro Dokument angezeigt werden.

Netzwerk‑Knoten schließen

Wenn Sie fertig sind, fahren Sie jeden Knoten herunter, um Ressourcen freizugeben.

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

Praktische Anwendungsfälle

  • Enterprise Document Management: Zentralisieren Sie Unternehmensdateien und ermöglichen Sie Mitarbeitern, relevante Verträge oder Richtlinien sofort zu finden.
  • Legal Case Files: Schnell relevante Rechtsdokumente durch Hervorheben wichtiger Begriffe aufspüren.
  • R&D Knowledge Bases: Forscher können Patente oder Fachartikel durchsuchen und hervorgehobene Auszüge sehen.
  • E‑Commerce‑Kataloge: Kunden finden Produkte per Stichwort, wobei Treffer in Beschreibungen hervorgehoben werden.
  • Bibliothekssysteme: Nutzer können in Tausenden von Büchern suchen und hervorgehobene Passagen sehen, ohne jedes Werk zu öffnen.

Leistungs‑Überlegungen

  • Indizes aktuell halten: Ändern Sie Dateien nachts neu indizieren oder nutzen Sie inkrementelle Updates.
  • Mehrere Knoten einsetzen: Verteilen Sie Index‑ und Abfrage‑Lasten, um Engpässe zu vermeiden.
  • HighlightOptions anpassen: 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 falscher Ordner angegebenUtils.DocumentsPath prüfen und IndexingDocuments.addDirectories erneut ausführen
Hervorhebungs‑Ausgabe ist leerHighlightOptions zu stark eingeschränkt oder Dokument‑KodierungsproblemtermsTotal erhöhen oder sicherstellen, dass die Dokumentkodierung unterstützt wird
Port‑Konflikt‑FehlerbasePort bereits belegtEinen anderen Port wählen (z. B. 49117)
Lizenz‑AusnahmeFehlende oder abgelaufene LizenzdateiGültige GroupDocs.Search.lic‑Datei im Anwendungsverzeichnis ablegen

Häufig gestellte Fragen

F: Kann ich mehrere Suchnetzwerk‑Knoten für Load‑Balancing bereitstellen?
A: Ja, das Deployen mehrerer Knoten verteilt Index‑ und Abfrage‑Arbeit, verbessert Skalierbarkeit und Reaktionszeit.

F: 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 für jeden Treffer umgebende Wörter anzuzeigen.

F: Ist es möglich, sich in Echtzeit‑Suchereignisse einzuklinken?
A: Absolut. Nutzen Sie SearchNetworkNodeEvents.subscribe(masterNode), um Callbacks für Index‑Fortschritt, Abfrage‑Ausführung und Fehler zu erhalten.

F: Welche Dateiformate unterstützt GroupDocs.Search für Indexierung und Hervorhebung?
A: Über 50 Formate, darunter DOCX, PDF, HTML, TXT, PPTX und mehr.

F: Wie kann ich die Suchgeschwindigkeit bei sehr großen Sammlungen verbessern?
A: Indizes regelmäßig aktualisieren, über mehrere Knoten verteilen und HighlightOptions feinjustieren, um die Fragmentgröße zu begrenzen.

Fazit

Durch Befolgen dieses Leitfadens verfügen Sie nun über ein komplettes, produktionsreifes Setup für highlight search results java mit GroupDocs.Search. Sie können die Lösung über ein Netzwerk skalieren, beliebige unterstützte Dokumenttypen indexieren, schnelle Abfragen ausführen und hervorgehobene Snippets zurückgeben, die den Benutzern helfen, exakt das Gesuchte zu finden. Erkunden Sie die nächsten Schritte – die Integration der Ergebnisse in ein Web‑UI, das Hinzufügen von facettierter Suche oder die Kombination mit OCR für gescannte PDFs.


Zuletzt aktualisiert: 2026-01-08
Getestet mit: GroupDocs.Search for Java 25.4
Autor: GroupDocs