Java Volltextsuche: Index mit GroupDocs.Search erstellen
In modernen datengetriebenen Anwendungen ist java full text search die Engine, die es Ihnen ermöglicht, Informationen sofort über Tausende von Dateien hinweg zu finden. Dieses Tutorial führt Sie durch jeden Schritt – vom Hinzufügen der GroupDocs.Search‑Abhängigkeit bis zur Feinabstimmung des Alphabet-Dictionaries – damit Sie schnelle, genaue Suchergebnisse in jedem Java‑Projekt liefern können.
Schnelle Antworten
- Was ist „java full text search“? Es ist der Prozess, einen Index zu erstellen, der schnelle Textabfragen über viele Dateien in einer Java‑Anwendung ermöglicht.
- Welche Bibliothek erledigt das sofort? GroupDocs.Search für Java bietet sofort einsatzbereite Indizierung, Wörterbuchverwaltung und Abfrageausführung.
- Brauche ich eine Lizenz? Ein kostenloser Test ist perfekt für die Evaluierung; eine Volllizenz ist für den Produktionseinsatz erforderlich.
- Kann ich die Zeichenbehandlung anpassen? Absolut – verwenden Sie das Alphabet-Dictionary, um benutzerdefinierte Zeichentypen zu definieren.
- Ist Maven zwingend erforderlich? Maven vereinfacht die Verwaltung von Abhängigkeiten, aber Sie können das JAR auch direkt herunterladen.
Was ist java full text search und warum ein Alphabet-Dictionary verwalten?
Der java full text search‑Index speichert tokenisierte Darstellungen Ihrer Dokumente und ermöglicht sofortiges Nachschlagen von Wörtern oder Phrasen. Das Alphabet-Dictionary teilt der Engine mit, wie jedes Zeichen (Buchstabe, Ziffer, Symbol) behandelt werden soll, was die Tokenisierung und die Suchrelevanz direkt beeinflusst – insbesondere bei Sonderzeichen oder sprachspezifischen Regeln.
Warum GroupDocs.Search für java full text search verwenden?
GroupDocs.Search verarbeitet bis zu 10.000 Dokumente, ohne sie vollständig in den Speicher zu laden, und liefert Abfragezeiten von unter einer Sekunde. Es bietet volle Kontrolle über Zeichentypen, unterstützt mehr als 50 Eingabe‑ und Ausgabeformate und skaliert horizontal über mehrere Server, wodurch es die robusteste Wahl für unternehmensgerechte Suche ist.
Voraussetzungen
- GroupDocs.Search for Java (neueste Version).
- Java 17 oder höher, installiert auf Ihrer Entwicklungsmaschine.
- Maven 3.6+ (oder die Möglichkeit, ein JAR manuell hinzuzufügen).
Erforderliche Bibliotheken, Versionen und Abhängigkeiten
- GroupDocs.Search for Java – neueste stabile Version.
- Keine zusätzlichen Drittanbieter‑Bibliotheken sind für die Grundindizierung erforderlich.
Anforderungen an die Umgebungseinrichtung
Stellen Sie sicher, dass Sie eine Maven‑kompatible Umgebung haben. Wenn Maven noch nicht installiert ist, laden Sie es von der offiziellen Seite herunter: Apache Maven.
Wissensvoraussetzungen
Vertrautheit mit Java‑Syntax und Datei‑I/O ist hilfreich, aber die nachfolgende Schritt‑für‑Schritt‑Anleitung deckt alles ab, was Sie benötigen.
Einrichtung von GroupDocs.Search für Java
Maven‑Konfiguration
Add the repository and dependency to your pom.xml file:
<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
Wenn Sie Maven nicht verwenden möchten, holen Sie sich das neueste JAR von der offiziellen Release‑Seite: GroupDocs.Search for Java releases.
Schritte zum Erwerb einer Lizenz
- Free trial – Beginnen Sie mit einer Testversion, um alle Funktionen zu erkunden.
- Temporary license – Fordern Sie einen temporären Schlüssel für erweiterte Tests an.
- Full license – Kaufen Sie eine Produktionslizenz für uneingeschränkte Nutzung.
Grundlegende Initialisierung und Einrichtung
Create an Index instance that points to the folder where the search index will be stored:
import com.groupdocs.search.*;
public class SearchIndexSetup {
public static void main(String[] args) {
String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\Index";
Index index = new Index(indexFolder);
}
}
Implementierungsleitfaden
Im Folgenden finden Sie eine vollständige Anleitung zu den häufigsten Vorgängen, die Sie beim Aufbau einer java full text search‑Lösung ausführen.
Erstellen oder Öffnen eines Index
The Index class is the core object that represents a searchable collection stored on disk.
import com.groupdocs.search.*;
String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\Index";
Index index = new Index(indexFolder);
- Parameters:
indexFolder– Pfad, in dem die Indexdateien gespeichert werden. - Purpose: Richtet die Suchumgebung für nachfolgende Indizierung und Abfragen ein.
Exportieren des Alphabet-Dictionaries in eine Datei
The AlphabetDictionary object holds character‑type mappings. Exporting it lets you reuse or analyse the configuration later.
import com.groupdocs.search.dictionaries.*;
String fileName = "YOUR_OUTPUT_DIRECTORY\\Alphabet.dat";
index.getDictionaries().getAlphabet().exportDictionary(fileName);
- Parameters:
fileName– Zieldatei für das exportierte Dictionary.
Löschen des Alphabet-Dictionaries
Reset the dictionary to its default state before applying custom rules:
import com.groupdocs.search.dictionaries.*;
if (index.getDictionaries().getAlphabet().getCount() > 0) {
index.getDictionaries().getAlphabet().clear();
}
- Purpose: Entfernt alle zuvor definierten Zeichentypen und stellt einen sauberen Ausgangszustand sicher.
Importieren des Alphabet-Dictionaries aus einer Datei
Restore a previously saved dictionary configuration:
import com.groupdocs.search.dictionaries.*;
index.getDictionaries().getAlphabet().importDictionary(fileName);
- Parameters:
fileName– Pfad zur.dat‑Datei, die das Dictionary enthält.
Festlegen des Zeichentyps im Alphabet-Dictionary
The CharacterType enum specifies how characters are interpreted during tokenization. Customize how specific characters are treated during tokenization. The CharacterType.Blended value tells the engine to treat the hyphen as part of a word rather than a separator.
import com.groupdocs.search.dictionaries.*;
if (index.getDictionaries().getAlphabet().getCharacterType('-') != CharacterType.Blended) {
index.getDictionaries().getAlphabet().setRange(new char[] { '-' }, CharacterType.Blended);
}
- Parameters: Das Zeichen (
'-') und sein neuerCharacterType. - Why it matters: Die Anpassung von Zeichentypen verbessert die Suchrelevanz für hyphenierte Begriffe, IDs oder benutzerdefinierte Symbole.
Indizieren von Dokumenten aus einem Ordner
Add all files in a directory to the search index in one operation:
import com.groupdocs.search.*;
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentsFolder);
- Parameters:
documentsFolder– Ordner, der die zu indizierenden Dokumente enthält.
Durchsuchen eines Index
The SearchResult class contains the list of matched documents and snippets returned by a query. Execute a query and retrieve matching results:
import com.groupdocs.search.results.*;
String query = "Elliot-Murray-Kynynmound";
SearchResult result = index.search(query);
- Parameters:
query– der Text, nach dem Sie suchen. - Result: Ein
SearchResult‑Objekt, das gefundene Dokumente und Ausschnitte enthält.
Häufige Anwendungsfälle für java full text search
- Content management systems (CMS): Beschleunigen Sie das Abrufen von Artikeln und Assets.
- Legal document repositories: Finden Sie Klauseln oder Fallreferenzen sofort.
- Research libraries: Indexieren Sie tausende von Papieren für die sofortige Stichwortsuche.
- E‑commerce catalogs: Verbessern Sie die Produktsuche mit benutzerdefinierter Tokenisierung.
- Customer support portals: Ermöglichen Sie Agenten, relevante Tickets oder Wissensdatenbank‑Artikel schnell zu finden.
Leistungsüberlegungen
- Incremental updates: Indizieren Sie nur neue oder geänderte Dateien erneut, um den Index aktuell zu halten, ohne einen kompletten Neuaufbau.
- Query optimization: Halten Sie Abfragen prägnant; vermeiden Sie zu breit gefasste Wildcard‑Suchen.
- Resource monitoring: Beobachten Sie die Speichernutzung während großer Batch‑Indizierungen – passen Sie bei Bedarf die JVM‑Heap‑Größe an.
- Dictionary size: Exportieren/Importieren Sie das Alphabet-Dictionary nur, wenn Sie es ändern; unnötige I/O kann den Start verlangsamen.
Häufig gestellte Fragen
Q: Was sind die Voraussetzungen für die Verwendung von GroupDocs.Search?
A: Installieren Sie Java 17+, Maven 3.6+ (oder laden Sie das JAR herunter) und fügen Sie die GroupDocs.Search‑Abhängigkeit hinzu.
Q: Wie erhalte ich eine Lizenz für den Produktionseinsatz?
A: Beginnen Sie mit einer kostenlosen Testversion, beantragen Sie einen temporären Schlüssel für erweiterte Tests und kaufen Sie anschließend eine Volllizenz über das GroupDocs‑Portal.
Q: Kann ich Zeichentypen im Alphabet-Dictionary anpassen?
A: Ja – verwenden Sie die Methoden setRange oder set, um benutzerdefinierte CharacterType‑Werte einem beliebigen Zeichen oder Bereich zuzuweisen.
Q: Ist es möglich, das Alphabet-Dictionary zu exportieren und zu importieren?
A: Absolut – nutzen Sie die Methoden exportDictionary und importDictionary, um Dictionary‑Konfigurationen zu speichern oder zu teilen.
Q: Mit welcher Version wurde diese Anleitung getestet?
A: Die Beispiele wurden mit GroupDocs.Search für Java Version 25.4 verifiziert.
Letzte Aktualisierung: 2026-09-06
Getestet mit: GroupDocs.Search für Java 25.4
Autor: GroupDocs