Crea indice di ricerca java con GroupDocs.Search per Java

In questa guida completa imparerai a creare indice di ricerca java applicazioni usando GroupDocs.Search per Java, e vedrai anche come evidenziare i risultati della ricerca java così gli utenti potranno individuare istantaneamente le corrispondenze all’interno di PDF, file Office, pagine HTML e altro. Che tu stia costruendo un’utilità desktop leggera o un servizio di ricerca aziendale ad alta capacità, i passaggi seguenti coprono tutto, dall’indicizzazione di formati diversi alla messa a punto delle prestazioni e all’esecuzione di un esempio di query booleana Java.

Panoramica rapida

GroupDocs.Search per Java fornisce una ricca cassetta degli attrezzi pronta all’uso che ti permette di:

  • Indicizzare diversi tipi di documento – PDF, DOCX, PPTX, XLSX, HTML e oltre 150 altri formati.
  • Eseguire query avanzate – Boolean, fuzzy, wildcard, phrase, regex e ricerche facettate.
  • Sfruttare l’elaborazione linguistica – Sinonimi, correzione ortografica, rilevamento di omofoni e dizionari personalizzati.
  • Integrare OCR – Estrarre testo da immagini scansionate e aggiungerlo all’indice ricercabile.
  • Ottimizzare le prestazioni – Controllare l’uso della memoria, la dimensione dell’indice e i tempi di risposta delle query per indici che raggiungono scala multi‑gigabyte.
  • Evidenziare i risultati – Mostrare le corrispondenze direttamente nel documento originale o in un’anteprima HTML con colori personalizzabili e classi CSS.

Di seguito è riportato un elenco curato di tutorial dedicati che ti guidano attraverso ogni funzionalità passo dopo passo.

Risposte rapide

  • What does “highlight search results java” do? It visually marks matching terms inside the original document or a generated HTML preview, letting users locate relevant snippets instantly. → Cosa fa “highlight search results java”? Evidenzia visivamente i termini corrispondenti all’interno del documento originale o di un’anteprima HTML generata, consentendo agli utenti di individuare istantaneamente i frammenti rilevanti.
  • Which library provides faceted search java? GroupDocs.Search for Java includes built‑in faceted search support that groups results by metadata fields. → Quale libreria fornisce faceted search java? GroupDocs.Search per Java include il supporto integrato alla ricerca facettata che raggruppa i risultati per campi di metadati.
  • Can I implement OCR java with the same API? Yes—enable the OCR engine with a single OcrOptions setting and the same indexing workflow will extract text from images. → Posso implementare OCR java con la stessa API? Sì—abilita il motore OCR con una singola impostazione OcrOptions e lo stesso flusso di indicizzazione estrarrà il testo dalle immagini.
  • Do I need a license for production use? A commercial license is required once the trial period expires. → È necessaria una licenza per l’uso in produzione? È richiesta una licenza commerciale una volta scaduto il periodo di prova.
  • Is the API compatible with Java 17 and later? It fully supports Java 8+, is tested on Java 17, and runs on any JVM‑compatible platform. → L’API è compatibile con Java 17 e versioni successive? Supporta pienamente Java 8+, è testata su Java 17 e funziona su qualsiasi piattaforma compatibile con JVM.

Cos’è “highlight search results java”?

Evidenziare i risultati della ricerca in Java significa applicare programmaticamente indicatori visivi—come colori di sfondo o stile grassetto—alle parole o frasi esatte che hanno corrisposto alla query dell’utente. Questa tecnica riduce il tempo che gli utenti impiegano a scansionare documenti lunghi e migliora l’usabilità complessiva della ricerca.

Perché usare GroupDocs.Search per Java?

GroupDocs.Search per Java indicizza e interroga migliaia di documenti in meno di due secondi su un server standard a 8 core. Supporta oltre 150 formati di file, elabora indici multi‑gigabyte senza caricare l’intera collezione in memoria e offre OCR pronto all’uso, ricerca facettata e gestione dei sinonimi—tutto tramite un’API fluida e ben documentata.

Prerequisiti

  • Java 8 o versioni successive (Java 17 consigliato)
  • Maven o Gradle per la gestione delle dipendenze
  • Una licenza valida di GroupDocs.Search per Java (trial disponibile)

Guida passo‑passo

Passo 1: configurare il progetto

Crea un progetto Maven o Gradle e aggiungi la dipendenza GroupDocs.Search. Posiziona il tuo file di licenza (GroupDocs.Search.lic) nella cartella src/main/resources in modo che l’SDK lo carichi automaticamente.

Passo 2: creare un indice

Index è la classe principale che rappresenta un repository ricercabile su disco.

Index index = new Index("path/to/index/folder");

Dopo aver istanziato l’Index, chiama add per ogni documento che desideri rendere ricercabile. L’SDK rileva automaticamente il tipo di file ed estrae il testo.

Passo 3: abilitare OCR (implementare OCR java)

OcrOptions configura il motore OCR integrato.

OcrOptions ocr = new OcrOptions();
ocr.setLanguage("eng");
ocr.setDpi(300);

Allega l’istanza OcrOptions alla chiamata di indicizzazione affinché le immagini scansionate vengano convertite in testo ricercabile.

Passo 4: eseguire una query di ricerca

SearchOptions costruisce la query che invii all’indice.

SearchOptions options = new SearchOptions()
    .setQuery("invoice")
    .setBooleanOperator(BooleanOperator.AND)
    .setFuzzy(true);

Puoi combinare un Java boolean query example con filtri facettati, wildcard o pattern regex per restringere ulteriormente i risultati.

Passo 5: evidenziare i risultati della ricerca java

Highlight è una classe di utilità che genera una versione evidenziata del documento corrispondente.

HighlightOptions highlight = new HighlightOptions()
    .setColor(Color.YELLOW)
    .setCssClass("search-highlight");
HighlightResult result = Highlight.apply(searchResult, highlight);

L’API restituisce un file PDF modificato o uno snippet HTML dove ogni termine corrispondente è avvolto dallo stile scelto.

Passo 6: revisionare e ottimizzare

Utilizza l’API statistica integrata per monitorare la dimensione dell’indice, il consumo di memoria e la latenza delle query. Regola maxMemoryUsage o abilita la compressione (setCompression(true)) per mantenere l’indice snello quando gestisci milioni di record.

Problemi comuni e soluzioni

  • No highlights appear: Verify that you passed a HighlightOptions object with a supported output format (HTML or PDF). → Nessun evidenziamento appare: Verifica di aver passato un oggetto HighlightOptions con un formato di output supportato (HTML o PDF).
  • OCR misses text: Ensure language packs are installed and the source images meet the 300 dpi minimum recommendation. → OCR non rileva testo: Assicurati che i pacchetti linguistici siano installati e che le immagini di origine soddisfino la raccomandazione minima di 300 dpi.
  • Faceted search returns empty buckets: Confirm that the fields you intend to facet on were indexed with the Facet type during step 2. → La ricerca facettata restituisce bucket vuoti: Conferma che i campi su cui intendi effettuare la faccettazione siano stati indicizzati con il tipo Facet durante il passo 2.

Domande frequenti

Q: Posso usare la ricerca facettata java insieme al fuzzy matching?
A: Yes—you can chain facet filters and fuzzy queries in the same SearchOptions builder, allowing you to narrow results while tolerating misspellings. → Sì—puoi concatenare filtri facetta e query fuzzy nello stesso builder SearchOptions, consentendo di restringere i risultati tollerando errori di ortografia.

Q: L’evidenziazione funziona su PDF crittografati?
A: It works only when you supply the correct password while adding the document to the index; the SDK then decrypts, highlights, and re‑encrypts the output. → Funziona solo se fornisci la password corretta durante l’aggiunta del documento all’indice; l’SDK quindi decritta, evidenzia e ri‑critta l’output.

Q: Quanto grande può diventare un indice prima che le prestazioni peggiorino?
A: The library reliably handles multi‑gigabyte indexes; enabling compression and tuning maxMemoryUsage lets you keep query times under 200 ms even with 10 million documents. → La libreria gestisce in modo affidabile indici multi‑gigabyte; abilitare la compressione e regolare maxMemoryUsage ti consente di mantenere i tempi di query sotto i 200 ms anche con 10 milioni di documenti.

Q: È possibile personalizzare il colore dell’evidenziazione?
A: Absolutely. Use HighlightOptions.setColor(Color.YELLOW) or provide a custom CSS class for HTML output via setCssClass. → Assolutamente. Usa HighlightOptions.setColor(Color.YELLOW) o fornisci una classe CSS personalizzata per l’output HTML tramite setCssClass.

Q: Quale versione di GroupDocs.Search è stata testata con questa guida?
A: The examples were validated with GroupDocs.Search for Java 23.9. → Gli esempi sono stati convalidati con GroupDocs.Search per Java 23.9.

Argomenti correlati che potresti esplorare

Panoramica delle funzionalità di ricerca documenti Java

GroupDocs.Search per Java offre un set completo di capacità per costruire potenti applicazioni di ricerca:

  • Supporto multi‑formato – oltre 150 formati di input e output, inclusi PDF, DOCX, PPT, XLS, HTML e file immagine.
  • Tipi di ricerca avanzata – opzioni Boolean, fuzzy, wildcard, phrase, regex e ricerca facettata java.
  • Indicizzazione intelligente – Indicizzazione rapida e configurabile dei documenti con compressione opzionale.
  • Elaborazione linguistica – Rilevamento di sinonimi, correzione ortografica e riconoscimento di omofoni.
  • Supporto OCR – Estrarre e cercare testo da immagini e documenti scansionati (implementare OCR java).
  • Ottimizzazione delle prestazioni – Uso della memoria e velocità di query regolabili per indici multi‑gigabyte.
  • Evidenziazione dei risultati – Evidenziare visivamente le corrispondenze di ricerca nei documenti originali (highlight search results java).
  • Supporto dizionari – Dizionari personalizzati per terminologia e domini specializzati.
  • Ricerca distribuita – Costruire soluzioni di ricerca scalabili e shardate con funzionalità di rete.
  • Velocità fulminea – Processare e cercare 10 000 documenti in meno di 2 secondi su un server tipico.

Risorse di apprendimento


Ultimo aggiornamento: 2026-08-26
Testato con: GroupDocs.Search per Java 23.9
Autore: GroupDocs