Come possiamo creare un semplice motore di ricerca usando Lucene, Solr o Nutch?

StackOverflow https://stackoverflow.com/questions/223536

  •  03-07-2019
  •  | 
  •  

Domanda

La nostra azienda ha migliaia di documenti PDF. Come possiamo creare un semplice motore di ricerca usando Lucene, Solr o Nutch? Forniremo una pagina Web Java / JSP di base in cui le persone possono digitare parole ed eseguire query di base e / o query, quindi mostrare loro i collegamenti dei documenti di tutti i PDF corrispondenti.

È stato utile?

Soluzione

Nessuno dei progetti della famiglia Lucene è in grado di elaborare in modo nativo PDF, ma ci sono utilità che puoi inserire e esempi ben scritti su come implementare i tuoi.

Lucene farà praticamente tutto ciò di cui hai bisogno, ma c'è un sovraccarico in termini di tempo, come ha detto Tony sopra. Migliaia di documenti in realtà non sono così molti, quindi potresti essere in grado di cavartela con un'alternativa più leggera.

Detto questo, consiglierei comunque di guardare Solr: è molto, molto più facile da configurare rispetto a Lucene, ha il supporto per backup, repliche, ecc., così come un'interfaccia JSON che si adatta molto bene al tuo caso d'uso : http://wiki.apache.org/solr/SolJSON

Altri suggerimenti

Ho avuto fortuna con lucene, ma non è un clic, installa e cerca, richiede un po 'di lavoro.
Se hai bisogno di qualcosa che puoi scaricare e installare e cercare entro 10 minuti, consulta la Ominifind Yahoo Edition gratuita http : //omnifind.ibm.yahoo.net/ , utilizza Lucene, ma è confezionato in modo tale da essere configurato e pronto per essere eseguito all'installazione, un modo molto più semplice per provare Lucene.

Il plugin Nutch + Lucene + Pdf abilitato in Nutch è la tua soluzione. Nutch ti permette di analizzare i pdf abilitando il plugin pdf.

Lucene ti consentirà di indicizzare i dati sottoposti a scansione e analizzati e Nutch ha un servelet che ti fornisce un'interfaccia di ricerca.

Usiamo lo stesso per i nostri prestiti interni.

Penso che tu voglia un sistema per gestire il tuo file PDF. Prova a utilizzare il sistema dspace. Dspace è una biblioteca digitale, supporta Lucene in base. www.dspace.org.

Dai un'occhiata a eprints . Include un flusso di lavoro per l'aggiunta di nuovi documenti, indicizza e miniature automaticamente i PDF e dispone di funzionalità di ricerca full-text abbastanza complete. Può anche essere facilmente personalizzato e marchiato.

Perché reinventare la ruota. Anche in questo caso.

Rispondere a una domanda così ampia in questo forum sarà difficile. Ti consiglio di dare un'occhiata al libro Lucene in Action , che copre le basi dell'indicizzazione e della ricerca in modo abbastanza leggibile.

Data la tua applicazione, sembra che Nutch e Solr probabilmente non saranno necessari. Poiché tutti i tuoi documenti sono disponibili localmente, Nutch probabilmente non sarà utile. Solr può aiutarti a gestire un gruppo di ricercatori se hai un elevato carico di query, ma Lucene è altamente performante e gestisce set di documenti di grandi dimensioni in modo molto scalabile.

L'unica area che potrebbe richiedere molto sforzo è l'uso del PDF. È possibile indicizzare i documenti PDF e ci sono contributi di Lucene per facilitare l'estrazione di raw noreferrer"> contributi di Lucene testo da PDF , ma a seconda del documento, la qualità dei risultati può variare. Spesso, il contesto di una parola chiave in un documento PDF non è chiaro a causa delle istruzioni di formattazione e ciò può rendere difficile effettuare ricerche di prossimità o mostrare il contesto di un hit.

Una grande tecnologia di ricerca gratuita che potresti guardare è l'IBM Yahoo! ricerca libera. Non sono sicuro che abbiano seguito i piani per usare Lucene sotto le coperte, ma rimane uno dei più grandi, est, usare le tecnologie di ricerca gratuite. Gestisce fino a 500.000 documenti, credo, e supporta anche PDF e altri formati non testuali. Interfaccia utente grafica; risultati di ricerca facili da personalizzare e analisi di ricerca di base. Thesaurus di base e potente API per consentirti di fare praticamente tutto ciò che desideri se i risultati non sono di tuo gradimento. Lo abbiamo suggerito a un numero di clienti in cui c'erano meno di mezzo milione di documenti e lo adorano.

Se hai un server Linux, puoi utilizzare Beagle per indicizzarli, quindi basta usare la funzionalità di ricerca che ne deriva. Ha un'interfaccia di ricerca web (sperimentale) e può essere agganciata anche nella casella di ricerca di FireFox.

Indicizza automaticamente i file quando sono inclusi e sospetto che lo troverai molto più efficiente per migliorare o correggere beagle piuttosto che scrivere la tua interfaccia di ricerca su Lucene.

Avendo il (imho) netto vantaggio di essere su un Mac, utilizzo SearchLight su un G5 un po 'più vecchio. bella interfaccia web su Spotlight, il servizio di indicizzazione integrato di Mac OS.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top