Documenten toevoegen aan index voor hoofdletterongevoelige zoekopdrachten in Java
Wanneer je case insensitive search java nodig hebt die betrouwbaar informatie vindt, ongeacht hoe gebruikers het intypen, is de sleutel om documenten aan een index toe te voegen terwijl de tekst genormaliseerd wordt. In deze tutorial lopen we door het configureren van GroupDocs.Search voor Java zodat elk document dat je indexeert automatisch wordt omgezet naar kleine letters (of op een andere manier wordt getransformeerd) tijdens het indexeren, waardoor resultaten hoofdletterongevoelig zijn zonder extra logica tijdens de query.
Snelle antwoorden
- Wat betekent “add documents to index”? Het betekent het laden van bronbestanden in een doorzoekbare datastructuur zodat ze later kunnen worden bevraagd.
- Waarom tekenvervanging gebruiken? Het normaliseert elk teken — meestal naar kleine letters — zodat zoekopdrachten automatisch hoofdletterverschillen negeren.
- Heb ik een licentie nodig? Een gratis proefversie werkt voor ontwikkeling; een volledige licentie is vereist voor productie‑implementaties.
- Welke Java‑versie is vereist? Java 8 of nieuwer; de bibliotheek richt zich op Java 11+ voor optimale prestaties.
- Kan ik overschakelen naar hoofdlettergevoelige zoekopdrachten wanneer nodig? Ja — zoekopties laten je per query de hoofdlettergevoeligheid in‑ of uitschakelen.
Wat betekent “add documents to index” in GroupDocs.Search?
Laad je bronbestanden (PDF, DOCX, TXT, enz.) in een doorzoekbare index zodat de engine ze snel kan ophalen. Het toevoegen van documenten aan een index parseert elk bestand, extraheert platte tekst en slaat deze op in een geoptimaliseerde datastructuur die snelle opzoekacties mogelijk maakt.
Waarom tekenvervanging inschakelen tijdens het indexeren?
Tekenvervanging zet elk teken om naar een vooraf gedefinieerde equivalent — meestal naar kleine letters — terwijl de index wordt opgebouwd. Dit zorgt ervoor dat variaties in hoofdletters, diakritische tekens of locale‑specifieke symbolen de zoekresultaten niet beïnvloeden. Door tekst tijdens het indexeren te normaliseren, kan de engine query’s afstemmen op een consistente token‑set, waardoor snelle, betrouwbare hoofdletterongevoelige functionaliteit wordt geboden zonder extra verwerking bij elke zoekopdracht.
Prerequisites
- GroupDocs.Search for Java versie 25.4 of nieuwer (de bibliotheek ondersteunt meer dan 30 bestandsformaten en kan documenten van honderden pagina’s indexeren zonder het volledige bestand in het geheugen te laden).
- Java Development Kit (JDK) 8 of hoger geïnstalleerd.
- Basiskennis van Maven (of de mogelijkheid om JAR‑bestanden handmatig toe te voegen).
GroupDocs.Search voor Java instellen
Maven Setup
Voeg de GroupDocs-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>
Directe download
Als je liever geen Maven gebruikt, download dan de nieuwste JAR van de officiële site: GroupDocs.Search for Java releases.
Licentie‑acquisitie
- Free Trial – download een proeflicentie om te beginnen experimenteren.
- Temporary License – vraag een uitgebreide testlicentie aan via het GroupDocs‑portaal.
- Full License – koop een productie‑licentie wanneer je klaar bent om live te gaan.
Basisinitialisatie (Maak de index aan)
De volgende code maakt een indexmap aan en schakelt tekenvervangingen in:
import com.groupdocs.search.Index;
import com.groupdocs.search.IndexSettings;
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/CharacterReplacementDuringIndexing";
IndexSettings settings = new IndexSettings();
settings.setUseCharacterReplacements(true);
Index index = new Index(indexFolder, settings);
Implementatie‑gids
Tekenvervanging inschakelen in indexinstellingen
Het activeren van deze functie vertelt de engine om tekens te vervangen tijdens het indexeren, wat de kernstap is voor hoofdletterongevoelige werking.
Step 1: Configure IndexSettings
IndexSettings is het configuratie‑object dat bepaalt hoe de index tekst opslaat en verwerkt. Door useCharacterReplacements op true te zetten, schakel je automatische omzetting naar kleine letters (of een aangepaste mapping die je opgeeft) in.
import com.groupdocs.search.Index;
import com.groupdocs.search.IndexSettings;
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/CharacterReplacementDuringIndexing";
// Create an instance of IndexSettings and enable character replacement.
IndexSettings settings = new IndexSettings();
settings.setUseCharacterReplacements(true);
// Initialize the index with these settings.
Index index = new Index(indexFolder, settings);
Tekenvervangingen configureren
Map elk teken naar zijn kleine‑letter‑tegenhanger (of een aangepaste mapping die je nodig hebt).
Step 2: Define and Add Replacement Pairs
Het vervangings‑woordenboek bevat paren zoals 'A' → 'a', 'É' → 'e', enz. Het toevoegen van deze paren vóór het indexeren zorgt ervoor dat elke token genormaliseerd wordt.
import com.groupdocs.search.dictionaries.CharacterReplacementPair;
// Access existing replacements and clear them.
index.getDictionaries().getCharacterReplacements().clear();
// Create an array for new replacements.
CharacterReplacementPair[] characterReplacements = new CharacterReplacementPair[Character.MAX_VALUE + 1];
for (int i = 0; i < characterReplacements.length; i++) {
char originalChar = (char) i;
char replacementChar = Character.toLowerCase(originalChar);
characterReplacements[i] = new CharacterReplacementPair(originalChar, replacementChar);
}
// Add these replacements to the index's dictionary.
index.getDictionaries().getCharacterReplacements().addRange(characterReplacements);
Documenten indexeren
Nu de index klaar is, kun je add documents to index vanuit elke map uitvoeren.
Step 3: Add Documents for Indexing
GroupDocs.Search scant de doelmap, extraheert tekst uit elk ondersteund bestandstype, past de vervangingsmap toe en schrijft de tokens naar de indexopslag.
import com.groupdocs.search.Index;
String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
// Initialize the index and add documents.
Index index = new Index(indexFolder, settings);
index.add(documentFolder);
Hooflettergevoelige zoekopdracht uitvoeren (optioneel)
Step 4: Execute Case‑Sensitive Searches
SearchOptions configureert het gedrag van de query, zoals het in‑ of uitschakelen van hoofdlettergevoeligheid, waardoor je fijnmazige controle hebt over hoe zoekopdrachten worden uitgevoerd.SearchOptions.setUseCaseSensitiveSearch(true) dwingt de engine om hoofd‑ en kleine letters als verschillend te behandelen tijdens een specifieke query, waardoor het standaard hoofdletterongevoelige gedrag wordt overschreven.
import com.groupdocs.search.Index;
import com.groupdocs.search.SearchOptions;
import com.groupdocs.search.results.SearchResult;
String query = "Promotion";
SearchOptions options = new SearchOptions();
options.setUseCaseSensitiveSearch(true);
// Perform the search.
Index index = new Index(indexFolder, settings);
SearchResult result = index.search(query, options);
Praktische toepassingen
- Marketingcampagnes – Normaliseer productnamen zodat verkoopteams assets kunnen vinden zonder zich zorgen te maken over hoofdletters.
- Klantenondersteuning – Voorzie help‑desk zoekvelden van resultaten die het juiste artikel teruggeven, ongeacht of de gebruiker “login” of “Login” intypt.
- E‑commerce catalogi – Zorg ervoor dat shoppers items vinden ongeacht hoe ze producttitels intypen, wat de conversieratio’s verbetert.
Prestatie‑overwegingen
- Bronbestanden organiseren – Een nette mapstructuur verkort de tijd die nodig is om te scannen tijdens de stap add documents to index.
- Geheugen bewaken – Het indexeren van grote corpora kan veel RAM verbruiken; bestanden verwerken in batches van 500 – 1 000 items houdt het heap‑gebruik onder controle.
- Asynchrone indexering – Wanneer ondersteund, voer indexering uit op een achtergrondthread om de UI responsief te houden en te voorkomen dat gebruikersacties geblokkeerd worden.
Veelvoorkomende problemen & probleemoplossing
| Symptoom | Waarschijnlijke oorzaak | Oplossing |
|---|---|---|
| Geen resultaten teruggegeven voor een bekende term | Tekenvervangingen niet ingeschakeld | Controleer settings.setUseCharacterReplacements(true) en dat de vervangingsmap de benodigde tekens bevat. |
| Out‑of‑memory‑fout tijdens het indexeren | Te veel grote bestanden tegelijk indexeren | Indexeer in kleinere batches of vergroot de JVM‑heap (-Xmx4g). |
| Zoekopdracht geeft onverwacht hoofdlettergevoelige resultaten | SearchOptions.setUseCaseSensitiveSearch(true) was set | Verwijder of zet op false voor de standaard hoofdletterongevoelige werking. |
| Indexlaadtijd overschrijdt verwachtingen | Inefficiënte mapindeling of SSD niet gebruikt | Herorganiseer bestanden, verwijder ongebruikte documenten, en sla de index op een snelle SSD op. |
| Speciale tekens worden genegeerd | Vervangingsmap mist Unicode‑vermeldingen | Voeg mappings toe voor tekens zoals “é”, “ß”, “ø” naar hun gewenste equivalenten. |
Veelgestelde vragen
Q: Hoe ga ik om met speciale tekens (bijv. “é”, “ß”) tijdens het indexeren?
A: Neem die tekens op in je vervangingsmap, en map ze naar hun ASCII‑equivalenten of laat ze ongewijzigd, afhankelijk van de zoekvereisten.
Q: Kan ik tekenvervanging beperken tot een specifieke taal?
A: Ja. Bouw een aangepaste vervangingsarray die alleen de tekens voor de doeltaal bevat voordat je deze aan het woordenboek toevoegt.
Q: Wat moet ik doen als de index lang duurt om te laden?
A: Optimaliseer de mapstructuur, verwijder onnodige bestanden, en sla de index op een high‑speed SSD op. Incrementele indexering vermindert ook de laadtijd.
Q: Is het mogelijk om de tekenvervangingen na het indexeren terug te draaien?
A: Nee. Vervangingen zijn ingebakken in de geïndexeerde data; je moet de index opnieuw opbouwen met nieuwe instellingen om ze te wijzigen.
Q: Waar vind ik meer gedetailleerde API‑documentatie?
A: De officiële documentatie en API‑referentie bieden uitgebreide details (zie bronnen hieronder).
Bronnen
- Documentatie
- API‑referentie
- GroupDocs.Search downloaden
- GitHub‑repository
- Gratis ondersteuningsforum
- Informatie over tijdelijke licentie
Last Updated: 2026-07-31
Tested With: GroupDocs.Search 25.4 for Java
Author: GroupDocs