Dokumente zum Index hinzufügen für case‑insensitive Suche in Java
Wenn Sie case insensitive search java benötigen, die zuverlässig Informationen findet, unabhängig davon, wie Benutzer sie eingeben, ist der Schlüssel, Dokumente zu einem Index hinzuzufügen und dabei den Text zu normalisieren. In diesem Tutorial führen wir Sie durch die Konfiguration von GroupDocs.Search für Java, sodass jedes Dokument, das Sie indexieren, automatisch in Kleinbuchstaben (oder anderweitig transformiert) während des Indexierens umgewandelt wird, wodurch case‑insensitive Ergebnisse ohne zusätzliche Abfrage‑Logik garantiert werden.
Schnelle Antworten
- Was bedeutet „add documents to index“? Es bedeutet, Quelldateien in eine durchsuchbare Datenstruktur zu laden, damit sie später abgefragt werden können.
- Warum Zeichenersetzung verwenden? Sie normalisiert jedes Zeichen – typischerweise in Kleinbuchstaben – sodass Suchvorgänge Groß‑ und Kleinschreibung automatisch ignorieren.
- Benötige ich eine Lizenz? Eine kostenlose Testversion funktioniert für die Entwicklung; für den Produktionseinsatz ist eine Volllizenz erforderlich.
- Welche Java‑Version wird benötigt? Java 8 oder neuer; die Bibliothek zielt auf Java 11+ für optimale Leistung ab.
- Kann ich bei Bedarf zur case‑sensitive Suche wechseln? Ja – Suchoptionen ermöglichen das Umschalten der Groß‑/Kleinschreibung pro Abfrage.
Was bedeutet „add documents to index“ in GroupDocs.Search?
Laden Sie Ihre Quelldateien (PDF, DOCX, TXT usw.) in einen durchsuchbaren Index, damit die Engine sie schnell abrufen kann. Das Hinzufügen von Dokumenten zu einem Index analysiert jede Datei, extrahiert den Klartext und speichert ihn in einer optimierten Datenstruktur, die schnelle Look‑ups ermöglicht.
Warum Zeichenersetzung beim Indexieren aktivieren?
Zeichenersetzung konvertiert jedes Zeichen in ein vordefiniertes Äquivalent – meist in Kleinbuchstaben – während der Index aufgebaut wird. Das stellt sicher, dass Variationen in Groß‑/Kleinschreibung, Diakritika oder länderspezifischen Symbolen die Suchergebnisse nicht beeinflussen. Durch die Normalisierung des Textes zur Indexierungszeit kann die Engine Abfragen gegen einen konsistenten Token‑Satz abgleichen und liefert schnelles, zuverlässiges case‑insensitive Verhalten ohne zusätzliche Verarbeitung bei jeder Suche.
Voraussetzungen
- GroupDocs.Search for Java Version 25.4 oder neuer (die Bibliothek unterstützt über 30 Dateiformate und kann mehrseitige Dokumente indexieren, ohne die gesamte Datei in den Speicher zu laden).
- Java Development Kit (JDK) 8 oder höher installiert.
- Grundlegende Kenntnisse mit Maven (oder die Möglichkeit, JARs manuell hinzuzufügen).
Einrichtung von GroupDocs.Search für Java
Maven‑Einrichtung
Add the GroupDocs 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>
Direkter Download
If you prefer not to use Maven, grab the latest JAR from the official site: GroupDocs.Search für Java Releases.
Lizenzbeschaffung
- Free Trial – Laden Sie eine Testlizenz herunter, um zu experimentieren.
- Temporary License – Fordern Sie eine erweiterte Testlizenz über das GroupDocs‑Portal an.
- Full License – Kaufen Sie eine Produktionslizenz, wenn Sie bereit für den Live‑Betrieb sind.
Grundlegende Initialisierung (Index erstellen)
The following snippet creates an index folder and enables character replacements:
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);
Implementierungs‑Leitfaden
Zeichenersetzung in Indexeinstellungen aktivieren
Activating this feature tells the engine to replace characters while indexing, which is the core step for case‑insensitive behavior.
Schritt 1: IndexSettings konfigurieren
IndexSettings is the configuration object that controls how the index stores and processes text. By setting useCharacterReplacements to true, you turn on automatic lower‑casing (or any custom mapping you provide).
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);
Zeichenersetzung konfigurieren
Schritt 2: Ersetzen‑Paare definieren und hinzufügen
The replacement dictionary holds pairs such as 'A' → 'a', 'É' → 'e', etc. Adding these pairs before indexing ensures every token is normalized.
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);
Dokumente indexieren
Jetzt, da der Index bereit ist, können Sie add documents to index aus jedem Ordner hinzufügen.
Schritt 3: Dokumente zum Indexieren hinzufügen
GroupDocs.Search scans the target directory, extracts text from each supported file type, applies the replacement map, and writes the tokens to the index storage.
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);
Case‑sensitive Suche ausführen (Optional)
Schritt 4: Case‑sensitive Suchen ausführen
SearchOptions configures query behavior, such as toggling case sensitivity, allowing fine‑grained control over how searches are performed.SearchOptions.setUseCaseSensitiveSearch(true) forces the engine to treat upper‑ and lower‑case characters as distinct during a specific query, overriding the default case‑insensitive behavior.
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 Anwendungsfälle
- Marketing Campaigns – Produktnamen normalisieren, damit Vertriebsteams Assets finden können, ohne sich um die Groß‑/Kleinschreibung zu kümmern.
- Customer Support – Help‑Desk‑Suchfelder betreiben, die den richtigen Artikel zurückgeben, egal ob der Benutzer „login“ oder „Login“ eingibt.
- E‑commerce Catalogs – Sicherstellen, dass Käufer Artikel finden, unabhängig davon, wie sie Produkttitel eingeben, was die Konversionsrate erhöht.
Leistungsüberlegungen
- Source‑Dateien organisieren – Eine aufgeräumte Ordnerhierarchie reduziert die Scan‑Zeit beim add documents to index‑Schritt.
- Speicher überwachen – Das Indexieren großer Korpora kann viel RAM verbrauchen; das Verarbeiten von Dateien in Stapeln von 500 – 1 000 Elementen hält den Heap‑Verbrauch im Griff.
- Asynchrones Indexieren – Wenn unterstützt, das Indexieren in einem Hintergrund‑Thread ausführen, um die UI reaktionsfähig zu halten und Benutzer‑Operationen nicht zu blockieren.
Häufige Probleme & Fehlerbehebung
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Keine Ergebnisse für einen bekannten Begriff zurückgegeben | Zeichenersetzung nicht aktiviert | Überprüfen Sie settings.setUseCharacterReplacements(true) und dass die Ersetzungstabelle die benötigten Zeichen enthält. |
| Out‑of‑Memory‑Fehler beim Indexieren | Zu viele große Dateien gleichzeitig indexieren | In kleineren Stapeln indexieren oder den JVM‑Heap erhöhen (-Xmx4g). |
| Suche liefert unerwartet case‑sensitive Ergebnisse | SearchOptions.setUseCaseSensitiveSearch(true) war gesetzt | Entfernen Sie es oder setzen Sie es auf false, um das standardmäßige case‑insensitive Verhalten zu erhalten. |
| Index‑Ladezeit übertrifft Erwartungen | Ineffiziente Ordnerstruktur oder SSD nicht verwendet | Dateien neu organisieren, ungenutzte Dokumente entfernen und den Index auf einer schnellen SSD speichern. |
| Sonderzeichen werden ignoriert | Ersetzungstabelle fehlt Unicode‑Einträge | Fügen Sie Zuordnungen für Zeichen wie “é”, “ß”, “ø” zu ihren gewünschten Äquivalenten hinzu. |
Häufig gestellte Fragen
Q: Wie gehe ich mit Sonderzeichen (z. B. “é”, “ß”) beim Indexieren um?
A: Fügen Sie diese Zeichen in Ihre Ersetzungstabelle ein und ordnen Sie sie ihren ASCII‑Entsprechungen zu oder lassen Sie sie unverändert, je nach Suchanforderungen.
Q: Kann ich die Zeichenersetzung auf eine bestimmte Sprache beschränken?
A: Ja. Erstellen Sie ein benutzerdefiniertes Ersetzungs‑Array, das nur die Zeichen der Zielsprache enthält, bevor Sie es dem Wörterbuch hinzufügen.
Q: Was soll ich tun, wenn das Laden des Index lange dauert?
A: Optimieren Sie die Ordnerstruktur, entfernen Sie unnötige Dateien und speichern Sie den Index auf einer schnellen SSD. Inkrementelles Indexieren reduziert ebenfalls den Ladevorgang.
Q: Ist es möglich, die Zeichenersetzungen nach dem Indexieren rückgängig zu machen?
A: Nein. Ersetzungen sind in den indexierten Daten fest verankert; Sie müssen den Index mit neuen Einstellungen neu erstellen, um sie zu ändern.
Q: Wo finde ich detailliertere API‑Dokumentation?
A: Die offiziellen Dokumente und die API‑Referenz bieten ausführliche Details (siehe Ressourcen unten).
Ressourcen
- Dokumentation
- API‑Referenz
- GroupDocs.Search herunterladen
- GitHub‑Repository
- Kostenloses Support‑Forum
- Informationen zur temporären Lizenz
Zuletzt aktualisiert: 2026-07-31
Getestet mit: GroupDocs.Search 25.4 for Java
Autor: GroupDocs