Java fulltextssökning: bygg index med GroupDocs.Search

I moderna datadrivna applikationer är java full text search motorn som låter dig hitta information omedelbart bland tusentals filer. Denna handledning guidar dig genom varje steg—från att lägga till GroupDocs.Search‑beroendet till finjustering av alfabetordlistan—så att du kan leverera snabba, korrekta sökresultat i vilket Java‑projekt som helst.

Snabba svar

  • What is “java full text search”? Det är processen att bygga ett index som möjliggör snabba textfrågor över många filer i en Java‑applikation.
  • Which library handles this out‑of‑the‑box? GroupDocs.Search for Java erbjuder färdig indexering, hantering av ordbok och frågeexekvering.
  • Do I need a license? En gratis provperiod är perfekt för utvärdering; en full licens krävs för produktionsmiljöer.
  • Can I customize character handling? Absolut—använd alfabetordlistan för att definiera anpassade teckentyper.
  • Is Maven mandatory? Maven förenklar beroendehantering, men du kan också ladda ner JAR‑filen direkt.

Vad är java full text search och varför hantera en alfabetordlista?

Indexet java full text search lagrar tokeniserade representationer av dina dokument, vilket möjliggör omedelbar uppslagning av ord eller fraser. Alfabetordlistan talar om för motorn hur varje tecken (bokstav, siffra, symbol) ska behandlas, vilket direkt påverkar tokenisering och sökrelevans—särskilt för specialtecken eller språk‑specifika regler.

GroupDocs.Search behandlar upp till 10 000 dokument utan att ladda dem helt i minnet, vilket ger svarstider på under en sekund. Det erbjuder full kontroll över teckentyper, stöder 50+ in‑ och utdataformat, och skalar horisontellt över flera servrar, vilket gör det till det mest robusta valet för företagsklassad sökning.

Förutsättningar

  • GroupDocs.Search for Java (senaste versionen).
  • Java 17 eller högre installerat på din utvecklingsmaskin.
  • Maven 3.6+ (eller möjlighet att lägga till en JAR manuellt).

Nödvändiga bibliotek, versioner och beroenden

  • GroupDocs.Search for Java – senaste stabila versionen.
  • Inga ytterligare tredjepartsbibliotek krävs för grundläggande indexering.

Krav för miljöuppsättning

Se till att du har en Maven‑kompatibel miljö. Om Maven ännu inte är installerat, ladda ner det från den officiella sidan: Apache Maven.

Kunskapsförutsättningar

Bekantskap med Java‑syntax och fil‑I/O är till hjälp, men steg‑för‑steg‑guiden nedan täcker allt du behöver.

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

Direkt nedladdning

Om du föredrar att inte använda Maven, hämta den senaste JAR‑filen från den officiella releases‑sidan: GroupDocs.Search for Java releases.

Steg för att skaffa licens

  1. Free trial – Börja med en provperiod för att utforska alla funktioner.
  2. Temporary license – Begär en tillfällig nyckel för förlängd testning.
  3. Full license – Köp en produktionslicens för obegränsad användning.

Grundläggande initiering och konfiguration

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);
    }
}

Implementeringsguide

Nedan följer en komplett genomgång av de vanligaste operationerna du kommer att utföra när du bygger en java full text search‑lösning.

Skapa eller öppna ett 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 – sökväg där indexfilerna lagras.
  • Purpose: Ställer in sökmiljön för efterföljande indexering och frågning.

Exportera alfabetordlistan till en fil

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 – destinationsfil för den exporterade ordlistan.

Rensa alfabetordlistan

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: Tar bort alla tidigare definierade teckentyper, vilket säkerställer en ren start.

Importera alfabetordlistan från en fil

Restore a previously saved dictionary configuration:

import com.groupdocs.search.dictionaries.*;

index.getDictionaries().getAlphabet().importDictionary(fileName);
  • Parameters: fileName – sökväg till .dat‑filen som innehåller ordlistan.

Ställa in teckentyp i alfabetordlistan

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: Tecknet ('-') och dess nya CharacterType.
  • Why it matters: Att justera teckentyper förbättrar sökrelevansen för bindestrecksord, ID:n eller anpassade symboler.

Indexera dokument från en mapp

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 – mappen som innehåller de dokument du vill indexera.

Söka i ett 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 – texten du söker efter.
  • Result: Ett SearchResult‑objekt som innehåller matchade dokument och utdrag.
  • Content management systems (CMS): Snabba upp artiklar och resurshämtning.
  • Legal document repositories: Hitta klausuler eller rättsfallreferenser omedelbart.
  • Research libraries: Indexera tusentals papper för omedelbar nyckelordssökning.
  • E‑commerce catalogs: Förbättra produktsökning med anpassad tokenisering.
  • Customer support portals: Gör det möjligt för agenter att snabbt hitta relevanta ärenden eller kunskapsbasartiklar.

Prestandaöverväganden

  • Incremental updates: Indexera om endast nya eller ändrade filer för att hålla indexet aktuellt utan en full ombyggnad.
  • Query optimization: Håll frågor koncisa; undvik alltför breda jokerteckensökningar.
  • Resource monitoring: Övervaka minnesanvändning under stor batch‑indexering—justera JVM‑heap‑storlek vid behov.
  • Dictionary size: Exportera/importera alfabetordlistan endast när du ändrar den; onödig I/O kan sakta ner uppstarten.

Vanliga frågor

Q: Vilka förutsättningar krävs för att använda GroupDocs.Search?
A: Installera Java 17+, Maven 3.6+ (eller ladda ner JAR‑filen) och lägg till GroupDocs.Search‑beroendet.

Q: Hur får jag en licens för produktionsanvändning?
A: Börja med en gratis provperiod, begär en tillfällig nyckel för förlängd testning och köp sedan en full licens från GroupDocs‑portalen.

Q: Kan jag anpassa teckentyper i alfabetordlistan?
A: Ja—använd setRange eller set‑metoderna för att tilldela anpassade CharacterType‑värden till valfritt tecken eller intervall.

Q: Är det möjligt att exportera och importera alfabetordlistan?
A: Absolut—använd exportDictionary och importDictionary‑metoderna för att spara eller dela ordlistkonfigurationer.

Q: Vilken version testades den här guiden med?
A: Exemplen verifierades med GroupDocs.Search for Java version 25.4.


Senast uppdaterad: 2026-09-06
Testad med: GroupDocs.Search for Java 25.4
Författare: GroupDocs

Relaterade handledningar