Markeer zoekresultaten Java met GroupDocs.Search
Als je het bent om eindeloos handmatig door documenten te bladeren, biedt highlight zoekresultaten java een snelle, betrouwbare manier om precies te vinden wat je nodig hebt. In deze tutorial lopen we stap voor stap door het samengestelde 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 over meerdere knooppunten kan schalen en relevante termen onmiddellijk laat opvallen.
Snelle antwoorden
- Wat betekent “highlight search results java”? Het is nuttig naar het programmatisch markeren van gevonden trefwoorden in documenten bij gebruik van Java‑bibliotheken zoals GroupDocs.Search.
- Kan ik meerdere termen in hetzelfde document markeren? Ja – gebruik
HighlightOptionsom te enorme hoeveelheden termen vóór/na elke match worden getoond. - Heb ik een licentie nodig om dit voorbeeld uit te voeren? Een gratis proefversie van tijdelijke licentie werkt voor testen; een volledige licentie is vereist voor productie.
- Welke Java-versie is vereist? Java8 of hoger.
- Is deze aanpak geschikt voor grote documentverzamelingen? Absoluut – het zoeknetwerk verdeelt index‑ en query‑belasting over knooppunten.
Wat is Markeer zoekresultaten Java?
Highlight search results java is het proces waarbij een zoekquery wordt genomen, nauwkeurige fragmenten in je documenten worden gevonden, en die fragmenten visueel worden gecontroleerd (bijv. door ze te omringen met markeringen of ze als gemarkeerde snippets terug te geven). Dit maakt het voor eind‑gebruikers eenvoudig om de context van elke match te zien zonder het volledige bestand te openen.
Waarom GroupDocs.Search gebruiken voor markeringen?
GroupDocs.Search biedt een kant-en-klare, krachtige engine die de meeste bestandsformaten ondersteunt, gedistribueerde indexering en feitelijke fragment-highlighters. Het elimineert de beëindiging van eigen parsers om te schrijven van zoekinfrastructuur op laag niveau om te beheren, zodat je je kunt verwerken op een soepele gebruikerservaring.
Vereisten
- Java Development Kit (JDK) 8+ – zorg dat
java -version1.8 of hoger aangegeven. - Maven – voor afhankelijkheidsbeheer.
- GroupDocs.Search for Java 25.4 – de versie die in deze gids wordt gebruikt.
- Een IDE zoals IntelliJ IDEA of Eclipse (optioneel maar aanbevolen).
- Basiskennis van Java en netwerkconcepten.
GroupDocs instellen. Zoek naar Java
Je kunt de bibliotheek in je project opnemen via Maven of door de JAR direct te downloaden.
Maven-installatie
Voeg de repository en afhankelijkheid toe aan je 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>
Direct downloaden
Download anders de nieuwste JAR vanaf GroupDocs.Zoek naar Java-releases.
Stappen voor het verwerven van licenties
- Gratis proefversie: Begin met een proefversie om de kernfuncties te verkennen.
- **licentie via deze pagina.
- Aankoop: Haal een volledige licentie voor productie‑implementaties.
Basisinitialisatie en configuratie
Maak een Index‑instantie die wijst naar een kaart waar de zoekindex wordt opgeslagen:
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.");
}
}
Implementatiegids
Hoe u zoekresultaten van Java in een gedistribueerd netwerk kunt markeren
Het zoeknetwerk configureren
Definieer eerst waar je documenten zich bevinden en welke poort het netwerk zal gebruiken.
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 hoofdkaart die de bestanden bevat die je wilt indexeren.basePort– de TCP‑poort voor verbindingscommunicatie; kies een ongebruikte poort.
Zoeknetwerkknooppunten implementeren
Implementeer één of meer knooppunten op basis van de configuratie. Het eerste knooppunt wordt de 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 zoeknetwerkknooppuntgebeurtenissen
Koppel luisteraars aan de masternode om realtime meldingen te ontvangen (bijv. wanneer indexering voltooid is).
import com.groupdocs.search.scaling.events.*;
SearchNetworkNodeEvents.subscribe(masterNode);
Directory’s indexeren in netwerkknooppunt
Wijs het knooppunt naar de kaart(pen) die je wilt indexeren. De helper‑klasse Utils.DocumentsPath gebruikt naar de voorbeeld‑datamap.
import com.groupdocs.search.examples.Utils;
import com.groupdocs.search.options.*;
IndexingDocuments.addDirectories(masterNode, Utils.DocumentsPath);
Tekst zoeken op netwerkknooppunten
Voer een query uit tegen alle knooppunten en zaal de beveiligde documenten op.
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 elke term die je wilt vinden. - De
highlightInDocument‑methode (hieronder) zal de marketing toepassen.
Document met meerdere termen markeren – Zoekresultaten markeren
De volgende methode laat zien hoe fragmenten rond elke match gemarkeerd kunnen worden. Hij toont ook hoe je het aantal verschillende termen kunt regelen, wat voldoet aan het secundaire trefwoord markeer meerdere termen 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 tekstfragmenten terug; je kunt overschakelen naar HTML voor een rijkere UI.HighlightOptions– aantal woorden vóór/na elke match worden opgenomen (setTermsBefore,setTermsAfter).maxFragments– beperkt het aantal fragmenten dat per document wordt weergegeven.
Netwerkknooppunten sluiten
Wanneer je klaar bent, sluit je elk knooppunt om bronnen vrij te geven.
voor (SearchNetworkNode knooppunt: knooppunten) {
knooppunt.close();
}
Praktische toepassingen
- Enterprise Document Management: Centraliseer bedrijfsbestanden en laat medewerkers direct relevante contracten of beleidsdocumenten vinden.
- Juridische dossiers: Breng snel precedent‑documenten naar voren door belangrijke juridische termen te markeren.
- R&D Knowledge Bases: Onderzoekers kunnen patenten van technische papieren doorzoeken en gemarkeerde fragmenten zien.
- E‑commerce Catalogi: Sta shoppers toe producten te vinden via trefwoorden met gemarkeerde matches in beschrijvingen.
- Bibliotheeksystemen: Leners kunnen zoeken in duizenden boeken en gemarkeerde passages bekijken zonder elk bestand te openen.
Prestatieoverwegingen
- Houd indexen actueel: Herindex gewijzigde bestanden elke nacht of gebruik incrementele updates.
- Maak gebruik van meerdere knooppunten: Verspreid index‑ en query‑belasting om knelpunten te vermijden.
- Tune
HighlightOptions: Het verminderen vantermsBefore/Aftergebruikte het geheugenverbruik bij zeer grote documenten.
Veelvoorkomende problemen en probleemoplossing
| Symptoom | Waarschijnlijke oorzaak | Repareren |
|---|
| Geen resultaten gevonden | Index niet opgebouwd of verwijst naar de verkeerde map | Controleer Utils.DocumentsPath en voer IndexingDocuments.addDirectories opnieuw uit |
| Uitvoer van highlighting is leeg | HighlightOptions-limieten te laag of probleem met documentcodering | Verhoog termsTotal of zorg ervoor dat de documentcodering wordt ondersteund |
| Poortconflictfout | basePort is al in gebruik | Kies een ander poortnummer (bijv. 49117) |
| Licentie-uitzondering | Ontbrekend of verlopen licentiebestand | Plaats een geldig GroupDocs.Search.lic-bestand in de applicatiemap |
Veelgestelde vragen
V: Kan ik meerdere zoeknetwerkknooppunten implementeren voor load balancing? A: Ja, het implementeren van meerdere knooppunten verdeelt de indexerings- en querytaken, waardoor de schaalbaarheid en de responstijd verbeteren.
V: Hoe markeer ik meerdere zoektermen in hetzelfde document?
A: Geef een lijst met termen door aan de highlight-methode en configureer HighlightOptions om de omliggende woorden voor elke overeenkomst weer te geven.
V: Is het mogelijk om je te abonneren op realtime zoekgebeurtenissen?
A: Absoluut. Gebruik SearchNetworkNodeEvents.subscribe(masterNode) om callbacks te ontvangen voor de voortgang van het indexeren, de uitvoering van de query en fouten.
V: Welke bestandsindelingen ondersteunt GroupDocs.Search voor indexering en markering? A: Meer dan 50 indelingen, waaronder DOCX, PDF, HTML, TXT, PPTX en meer.
V: Hoe kan ik de zoeksnelheid in zeer grote collecties verbeteren?
A: Werk de indexen regelmatig bij, verdeel ze over de knooppunten en verfijn HighlightOptions om de fragmentgrootte te beperken.
Conclusie
Door deze gids te volgen heb je nu een complete, productie‑klare setup voor highlight zoekresultaten java met GroupDocs.Search. Je kunt de oplossing over een netwerkschalen, elk ondersteund documenttype indexeren, snelle queries uitvoeren en specifieke snippets veroorzaken die gebruikers precies laten vinden wat ze nodig hebben. Ontdek de volgende stappen – de resultaten veroorzaakt in een web‑UI, faceted search toevoegen, of combineren met OCR voor gescande PDF‑bestanden.
Laatst bijgewerkt: 08-01-2026 Getest met: GroupDocs.Zoek naar Java 25.4 Auteur: Groepsdocumenten