Aggiungere documenti all’indice con ricerca basata su chunk in Java

Nel mondo odierno guidato dai dati, la capacità di aggiungere documenti all’indice rapidamente e poi eseguire ricerche basate su chunk è essenziale per qualsiasi applicazione che gestisce grandi collezioni di file. Che tu stia lavorando con contratti legali, archivi di supporto clienti o enormi biblioteche di ricerca, questo tutorial ti mostra esattamente come configurare GroupDocs.Search per Java in modo da indicizzare i documenti in modo efficiente e recuperare informazioni rilevanti in piccoli pezzi.

Cosa Imparerai

  • Come creare un indice di ricerca in una cartella specificata.
  • Passaggi per aggiungere documenti all’indice da più posizioni.
  • Configurare le opzioni di ricerca per abilitare la ricerca basata su chunk.
  • Eseguire ricerche basate su chunk iniziali e successive.
  • Scenari reali in cui la ricerca basata su chunk brilla.

Risposte Rapide

  • Qual è il primo passo? Creare una cartella per l’indice di ricerca.
  • Come includo molti file? Usa index.add() per ogni cartella di documenti.
  • Quale opzione abilita la ricerca a chunk? options.setChunkSearch(true).
  • Posso continuare a cercare dopo il primo chunk? Sì, chiama index.searchNext() con il token.
  • È necessaria una licenza? Una prova gratuita o una licenza temporanea funziona per lo sviluppo; è richiesta una licenza completa per la produzione.

Prerequisiti

Per seguire questa guida, assicurati di avere:

  • Librerie Richieste: GroupDocs.Search per Java 25.4 o versioni successive.
  • Configurazione dell’Ambiente: Un Java Development Kit (JDK) compatibile installato.
  • Prerequisiti di Conoscenza: Programmazione Java di base e familiarità con Maven.

Configurare GroupDocs.Search per Java

Per iniziare, integra GroupDocs.Search nel tuo progetto usando Maven:

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

In alternativa, scarica l’ultima versione da GroupDocs.Search for Java releases.

Acquisizione della Licenza

Per provare GroupDocs.Search:

  • Prova Gratuita – testa le funzionalità principali senza impegno.
  • Licenza Temporanea – accesso esteso per lo sviluppo.
  • Acquisto – licenza completa per l’uso in produzione.

Inizializzazione e Configurazione di Base

Crea un indice nella cartella dove desideri che i dati ricercabili risiedano:

import com.groupdocs.search.*;

public class CreateIndex {
    public static void main(String[] args) {
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\SearchByChunks";
        // Creating an index in the specified folder
        Index index = new Index(indexFolder);
    }
}

Come aggiungere documenti all’indice

Ora che l’indice esiste, il passo logico successivo è aggiungere documenti all’indice dalle posizioni in cui i tuoi file sono archiviati.

1. Creare un Indice

Panoramica: Configura una directory per l’indice di ricerca.

String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\SearchByChunks";
Index index = new Index(indexFolder);

2. Aggiungere Documenti all’Indice

Panoramica: Importa file da diverse cartelle sorgente.

String documentsFolder1 = "YOUR_DOCUMENT_DIRECTORY";
String documentsFolder2 = "YOUR_DOCUMENT_DIRECTORY";
String documentsFolder3 = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentsFolder1);
index.add(documentsFolder2);
index.add(documentsFolder3);

3. Configurare le Opzioni di Ricerca per la Ricerca a Chunk

Abilita la ricerca basata su chunk modificando l’oggetto delle opzioni.

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

4. Eseguire la Ricerca Iniziale Basata su Chunk

Esegui la prima query usando le opzioni abilitate per i chunk.

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

5. Continuare la Ricerca Basata su Chunk

Itera attraverso i chunk rimanenti finché la ricerca non è completa.

while (result.getNextChunkSearchToken() != null) {
    result = index.searchNext(result.getNextChunkSearchToken());
}

Perché usare la ricerca basata su chunk?

La ricerca basata su chunk suddivide enormi collezioni di documenti in pezzi gestibili, riducendo la pressione sulla memoria e accelerando i tempi di risposta. È particolarmente vantaggiosa quando:

  1. I team legali devono individuare clausole specifiche tra migliaia di contratti.
  2. I portali di supporto clienti devono mostrare istantaneamente articoli pertinenti della knowledge‑base.
  3. I ricercatori setacciano grandi set di dati senza caricare interi file in memoria.

Considerazioni sulle Prestazioni

  • Gestione della Memoria – Assegna spazio heap sufficiente (-Xmx) per indici di grandi dimensioni.
  • Monitoraggio delle Risorse – Tieni d’occhio l’utilizzo della CPU durante le operazioni di indicizzazione e ricerca.
  • Manutenzione dell’Indice – Ricostruisci o pulisci periodicamente l’indice per eliminare dati obsoleti.

Problemi Comuni & Risoluzione dei Problemi

ProblemaPerché AccadeSoluzione
OutOfMemoryError durante l’indicizzazioneHeap troppo piccoloAumenta l’heap JVM (-Xmx2g o superiore)
Nessun risultato restituitoToken del chunk non elaboratoAssicurati che il ciclo while continui fino a quando getNextChunkSearchToken() è null
Prestazioni di ricerca lenteIndice non ottimizzatoEsegui index.optimize() dopo aggiunte massive

Domande Frequenti

D: Cos’è la ricerca basata su chunk?
R: La ricerca basata su chunk divide il dataset in pezzi più piccoli, consentendo query efficienti su grandi volumi di dati senza caricare interi documenti in memoria.

D: Come aggiorno il mio indice con nuovi file?
R: Basta chiamare index.add() con il percorso dei nuovi documenti; l’indice li incorporerà automaticamente.

D: GroupDocs.Search può gestire diversi formati di file?
R: Sì, supporta PDF, DOCX, XLSX, PPTX e molti altri formati comuni.

D: Quali sono i tipici colli di bottiglia delle prestazioni?
R: Vincoli di memoria e indici non ottimizzati sono i più comuni; assegna heap sufficiente e ottimizza regolarmente l’indice.

D: Dove posso trovare documentazione più dettagliata?
R: Visita la documentazione ufficiale GroupDocs.Search Documentation per guide approfondite e riferimenti API.

Risorse


Ultimo Aggiornamento: 2025-12-19
Testato Con: GroupDocs.Search 25.4 per Java
Autore: GroupDocs