Maak doorzoekbare index java: documenten toevoegen case‑gevoelige zoekopdracht

In moderne Java‑toepassingen is het maken van een doorzoekbare index java de basis voor snelle, nauwkeurige terugwinning van informatie uit grote documentverzamelingen. Deze tutorial laat zien hoe je documenten aan een index toevoegt, case‑gevoelige zoekopdrachten inschakelt en het proces verfijnt met GroupDocs.Search. Of je nu een juridisch archief, een e‑commerce‑catalogus of een content‑management‑systeem bouwt, deze stappen helpen je precieze resultaten te leveren die gebruikers tevreden houden.

Snelle antwoorden

  • Wat is de eerste stap om te beginnen met zoeken? Voeg documenten toe aan een index met index.add(...).
  • Hoe schakel je case‑gevoelige zoekopdrachten in? Stel options.setUseCaseSensitiveSearch(true) in.
  • Kun je zoeken over meerdere mappen heen? Ja – roep index.add() aan voor elke map die je wilt opnemen.
  • Welke methode laat je zoeken met objecten? Gebruik SearchQuery.createWordQuery(...).
  • Heb je een licentie nodig voor testen? Een tijdelijke licentie is beschikbaar voor proefdoeleinden.

Wat betekent “documenten toevoegen aan index”?

Documenten toevoegen aan een index betekent dat je bronbestanden (PDF‑s, Word‑documenten, platte tekst, enz.) aan GroupDocs.Search levert zodat het een doorzoekbare datastructuur kan opbouwen. De index slaat getokeniseerde termen, posities en metadata op, waardoor de engine snelle queries kan uitvoeren, inclusief case‑gevoelige, en resultaten efficiënt kan rangschikken.

Waarom case‑gevoelige zoekopdrachten inschakelen in Java?

Case‑gevoelige zoekopdrachten zorgen ervoor dat de engine onderscheid maakt tussen termen die alleen in hoofdlettergebruik verschillen, wat cruciaal is voor domeinen waar kapitalisatie betekenis heeft. Het maakt exacte term‑matching mogelijk, ondersteunt regelgevingseisen en verbetert de relevantie door resultaten te retourneren die precies overeenkomen met de hoofdlettercase van de gebruikersquery.

  • Exacte term‑matching – bijv. “Apple” (bedrijf) vs. “apple” (fruit).
  • Regelgevingseisen – veel sectoren vereisen precieze frase‑matching.
  • Verbeterde relevantie – technische en juridische gebruikers verwachten vaak case‑specifieke resultaten.

Voorvereisten

  • JDK 17 of hoger (aanbevolen)
  • Maven voor dependency‑beheer
  • Een IDE zoals IntelliJ IDEA of Eclipse
  • Basiskennis van Java‑programmeren

GroupDocs.Search voor Java configureren

Het volgende Maven‑fragment voegt de GroupDocs.Search‑repository en de benodigde dependency toe aan je project.

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

Je kunt ook de nieuwste versie rechtstreeks downloaden van GroupDocs.Search for Java releases.

Licenties

Om te beginnen met een proefversie, bezoek GroupDocs om een tijdelijke licentie aan te schaffen. Hiermee kun je alle functies testen zonder beperkingen.

Hoe maak je een doorzoekbare index java – tekstquery‑zoekopdracht

Stap 1: maak een index en voeg je documenten toe

De Index‑klasse vertegenwoordigt een doorzoekbare opslaglocatie op schijf waar documenten worden geïndexeerd.

String indexFolder = YOUR_OUTPUT_DIRECTORY + "/CaseSensitiveSearch/QueryInTextForm";
Index index = new Index(indexFolder);
index.add(YOUR_DOCUMENT_DIRECTORY); // Add documents to the index

Pro tip: Je kunt index.add() meerdere keren aanroepen om over meerdere mappen heen te zoeken in één enkele index.

Stap 2: case‑gevoelige zoekopdracht inschakelen

SearchOptions configureert hoe queries worden verwerkt, inclusief hoofdlettergevoeligheid en andere zoekgedragingen.

SearchOptions options = new SearchOptions();
options.setUseCaseSensitiveSearch(true);

Stap 3: een case‑gevoelige tekstquery uitvoeren

SearchQuery bouwt het query‑object dat de engine evalueert tegen de index.

String query = "Advantages";
SearchResult result = index.search(query, options);

// Output results
for (FoundDocument doc : result.getDocuments()) {
    System.out.println("Document: " + doc.getDocumentInfo().getFilePath());
}

De lus print het volledige pad van elk document dat de exact case‑overeenkomende term bevat.

Hoe maak je een doorzoekbare index java – objectquery‑zoekopdracht

Stap 1: initialiseert een tweede index (optioneel)

Een tweede Index‑instantie kan worden aangemaakt om object‑gebaseerde zoekopdrachten te scheiden van platte‑tekst‑zoekopdrachten.

String indexFolder = YOUR_OUTPUT_DIRECTORY + "/CaseSensitiveSearch/QueryInObjectForm";
Index index = new Index(indexFolder);
index.add(YOUR_DOCUMENT_DIRECTORY); // Add documents to the index

Stap 2: hergebruik de case‑gevoelige optie

SearchOptions kan worden hergebruikt voor verschillende query‑typen om consistente case‑afhandeling te behouden.

SearchOptions options = new SearchOptions();
options.setUseCaseSensitiveSearch(true);

Stap 3: bouw en voer een objectquery uit

WordQuery vertegenwoordigt een woord‑niveau zoekopdracht die kan worden gecombineerd met andere query‑typen voor complexe zoekopdrachten.

SearchQuery query = SearchQuery.createWordQuery("Advantages");
SearchResult result = index.search(query, options);

// Output results
for (FoundDocument doc : result.getDocuments()) {
    System.out.println("Document: " + doc.getDocumentInfo().getFilePath());
}

Met createWordQuery kun je later combineren met frase‑, wildcard‑ of Boolean‑queries voor meer geavanceerde scenario’s.

Praktische toepassingen

  • Juridisch documentbeheer: Haal case‑specifieke wetgeving op waar kapitalisatie van belang is.
  • E‑commerce platforms: Onderscheid product‑SKU’s zoals “PRO‑X” vs. “pro‑x”.
  • Content‑management‑systemen (CMS): Zorg dat auteurs exacte koppen of tags vinden.

Prestatie‑overwegingen

  • Houd de index actueel – re‑indexeer wanneer nieuwe bestanden worden toegevoegd of bestaande wijzigen.
  • Monitor geheugenverbruik – grote corpora profiteren van incrementele indexering en juiste JVM‑heap‑grootte.
  • Maak gebruik van Java’s garbage collector – maak Index‑objecten vrij wanneer ze niet meer nodig zijn.

Veelvoorkomende problemen en oplossingen

ProbleemOplossing
useCaseSensitiveSearch lijkt genegeerdControleer of je de nieuwste GroupDocs.Search‑versie gebruikt en of de index opnieuw is opgebouwd na het wijzigen van de optie.
Geen resultaten voor een bekende termZorg dat de hoofdlettercase van de term exact overeenkomt en dat het document succesvol aan de index is toegevoegd.
Zoeken in veel mappen vertraagtVoeg elke map afzonderlijk toe met index.add() en overweeg de index op te splitsen in shards voor zeer grote datasets.

Veelgestelde vragen

V: Hoe ga ik om met grote datasets in GroupDocs.Search?
A: Gebruik index‑partitionering, stem JVM‑geheugeninstellingen af en compactteer periodiek de index om optimale prestaties te behouden.

V: Kan ik tegelijk over meerdere mappen zoeken?
A: Ja – roep index.add() aan voor elke map die je wilt opnemen, en voer vervolgens één query uit tegen de gecombineerde index.

V: Wat zijn veelvoorkomende valkuilen bij het instellen van case‑gevoelige zoekopdrachten?
A: Het vergeten opnieuw te bouwen van de index na het inschakelen van useCaseSensitiveSearch, of het gebruiken van de verkeerde hoofdlettercase in de query‑string.

V: Hoe kan ik zoekfouten oplossen?
A: Controleer de logbestanden die door GroupDocs.Search worden gegenereerd op stack‑traces, en bevestig dat alle Maven‑dependencies correct zijn opgelost.

V: Is GroupDocs.Search geschikt voor realtime‑toepassingen?
A: Met de juiste indexeringsstrategieën (incrementele updates en in‑memory caching) kan het bijna realtime zoekresultaten leveren.

Resources


Laatst bijgewerkt: 2026-08-10
Getest met: GroupDocs.Search 25.4
Auteur: GroupDocs


Gerelateerde tutorials