Zoekresultaten markeren in Java met GroupDocs.Search

Als je het zat bent om eindeloos handmatig door documenten te bladeren, highlight search results java biedt een snelle, betrouwbare manier om precies te vinden wat je nodig hebt. In deze tutorial lopen we door het configureren van een gedistribueerd zoeknetwerk, het indexeren van je bestanden, het uitvoeren van queries, en uiteindelijk het markeren van de overeenkomsten direct in de documenten. Aan het einde heb je een productie‑klare oplossing die kan schalen over meerdere knooppunten en relevante termen onmiddellijk laat opvallen.

Snelle antwoorden

  • Wat betekent “highlight search results java”? Het verwijst naar het programmatisch markeren van gevonden sleutelwoorden in documenten bij gebruik van Java‑bibliotheken zoals GroupDocs.Search.
  • Kan ik meerdere termen in hetzelfde document markeren? Ja – gebruik HighlightOptions om te definiëren hoeveel termen vóór/na elke overeenkomst worden getoond.
  • Heb ik een licentie nodig om dit voorbeeld uit te voeren? Een gratis proefversie of tijdelijke licentie werkt voor testen; een volledige licentie is vereist voor productie.
  • Welke Java‑versie is vereist? Java 8 of hoger.
  • Is deze aanpak geschikt voor grote documentcollecties? Absoluut – het zoeknetwerk verdeelt indexering en query‑belasting over knooppunten.

Wat is Highlight Search Results Java?

Highlight search results java is het proces waarbij een zoekopdracht wordt genomen, overeenkomende fragmenten in je documenten worden gevonden, en die fragmenten visueel worden benadrukt (bijv. door ze te omringen met markeringen of ze als gemarkeerde fragmenten terug te geven). Dit maakt het voor eindgebruikers eenvoudig om de context van elke overeenkomst te zien zonder het volledige bestand te openen.

Waarom Highlight Search Results Java belangrijk is

Het gebruik van highlight search results java verbetert de gebruikerservaring door precies te laten zien waar een term voorkomt, vermindert de tijd die wordt besteed aan het openen van irrelevante bestanden, en helpt compliance‑teams snel gevoelige informatie te vinden. In combinatie met een gedistribueerd zoeknetwerk blijft de oplossing responsief, zelfs wanneer de documentencorpus groeit tot miljoenen.

Waarom GroupDocs.Search gebruiken voor markering?

GroupDocs.Search biedt een kant‑en‑klaar, high‑performance engine die tientallen bestandsformaten ondersteunt, gedistribueerde indexering en ingebouwde fragment‑markeerders. Het elimineert de noodzaak om aangepaste parsers te schrijven of low‑level zoekinfrastructuur te beheren, zodat je je kunt concentreren op het leveren van een soepele gebruikerservaring.

Vereisten

  • Java Development Kit (JDK) 8+ – zorg ervoor dat java -version 1.8 of hoger rapporteert.
  • Maven – voor afhankelijkheidsbeheer.
  • GroupDocs.Search for Java 25.4 – de versie die door deze gids wordt gebruikt.
  • Een IDE zoals IntelliJ IDEA of Eclipse (optioneel maar aanbevolen).
  • Basiskennis van Java en netwerconcepten.

GroupDocs.Search voor Java instellen

Je kunt de bibliotheek in je project opnemen via Maven of door de JAR rechtstreeks te downloaden.

Maven‑configuratie

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>

Directe download

Download anders de nieuwste JAR van GroupDocs.Search for Java releases.

Stappen voor licentie‑verwerving

  • Free Trial: Begin met een proefversie om de kernfuncties te verkennen.
  • Temporary License: Verkrijg een uitgebreide testlicentie via this page.
  • Purchase: Verkrijg een volledige licentie voor productie‑implementaties.

Basisinitialisatie en configuratie

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.");
    }
}

Implementatie‑gids

Hoe Highlight Search Results Java te gebruiken in een gedistribueerd netwerk

Configuratie van het zoeknetwerk

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 – de hoofdmap die de bestanden bevat die je wilt indexeren.
  • basePort – de TCP‑poort voor knooppuntcommunicatie; kies een ongebruikte poort.

Implementatie van zoeknetwerk‑knooppunten

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 – een array van alle actieve knooppunten.
  • masterNode – coördineert indexering en query‑distributie.

Abonneren op zoeknetwerk‑knooppunt‑events

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);

Directories indexeren in netwerk‑knooppunt

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);

Tekst zoeken over netwerk‑knooppunten

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.
  • Vervang "ipsum" door een willekeurige term die je wilt vinden.
  • De highlightInDocument‑methode (hieronder getoond) zal de markering toepassen.

Meerdere termen in document markeren – Zoekresultaten markeren

The following method demonstrates how to highlight fragments around each match. It also shows how to control the number of surrounding terms, satisfying the secondary keyword 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 – geeft platte‑tekst fragmenten terug; je kunt overschakelen naar HTML voor een rijkere UI.
  • HighlightOptions – bepaalt hoeveel woorden vóór/na elke overeenkomst worden opgenomen (setTermsBefore, setTermsAfter).
  • maxFragments – beperkt het aantal fragmenten dat je per document weergeeft.

Netwerk‑knooppunten sluiten

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

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

Praktische toepassingen

  • Enterprise Document Management: Centraliseer bedrijfsbestanden en laat medewerkers direct relevante contracten of beleidsdocumenten vinden.
  • Legal Case Files: Breng snel precedent‑documenten naar voren door belangrijke juridische termen te markeren.
  • R&D Knowledge Bases: Onderzoekers kunnen patenten of technische papers doorzoeken en gemarkeerde fragmenten zien.
  • E‑commerce Catalogs: Sta shoppers toe producten te vinden op basis van trefwoorden met gemarkeerde overeenkomsten in beschrijvingen.
  • Library Systems: Gebruikers kunnen zoeken in duizenden boeken en gemarkeerde passages bekijken zonder elk bestand te openen.

Prestatie‑overwegingen

  • Keep indexes fresh: Index gewijzigde bestanden elke nacht opnieuw of gebruik incrementele updates.
  • Leverage multiple nodes: Verspreid indexering en query‑belasting over meerdere knooppunten om knelpunten te voorkomen.
  • Tune HighlightOptions: Het verminderen van termsBefore/After verlaagt het geheugenverbruik voor zeer grote documenten.

Veelvoorkomende problemen & foutopsporing

SymptoomWaarschijnlijke oorzaakOplossing
Geen resultaten teruggekregenIndex niet gebouwd of wijst naar de verkeerde mapControleer Utils.DocumentsPath en voer IndexingDocuments.addDirectories opnieuw uit
Markeeroutput is leegHighlightOptions-limieten te laag of document‑codering probleemVerhoog termsTotal of zorg ervoor dat de codering van het document wordt ondersteund
Poortconflict foutbasePort is al in gebruikKies een ander poortnummer (bijv. 49117)
Licentie‑exceptionOntbrekend of verlopen licentiebestandPlaats een geldig GroupDocs.Search.lic‑bestand in de applicatiewortel

Veelgestelde vragen

Q: Kan ik meerdere zoeknetwerk‑knooppunten inzetten voor load balancing?
A: Ja, het inzetten van meerdere knooppunten verdeelt indexering en query‑werk, waardoor schaalbaarheid en responstijd verbeteren.

Q: Hoe kan ik meerdere zoektermen in hetzelfde document markeren?
A: Geef een lijst met termen door aan de highlight‑methode en configureer HighlightOptions om omringende woorden voor elke overeenkomst weer te geven.

Q: Is het mogelijk om je te abonneren op real‑time zoek‑events?
A: Absoluut. Gebruik SearchNetworkNodeEvents.subscribe(masterNode) om callbacks te ontvangen voor indexeringsvoortgang, query‑uitvoering en fouten.

Q: Welke bestandsformaten ondersteunt GroupDocs.Search voor indexering en markering?
A: Meer dan 50 formaten, waaronder DOCX, PDF, HTML, TXT, PPTX en meer.

Q: Hoe kan ik de zoek‑snelheid verbeteren bij zeer grote collecties?
A: Werk indexen regelmatig bij, verspreid ze over knooppunten, en stem HighlightOptions nauwkeurig af om de fragmentgrootte te beperken.


Laatst bijgewerkt: 2026-03-17
Getest met: GroupDocs.Search for Java 25.4
Auteur: GroupDocs