2011-10-28 18 views
10
  1. Sto provando a creare un motore di ricerca solo per imparare e ottenere più esperienza in Java.Motore di ricerca in Java?

    La mia intenzione è di memorizzare circa 100 file su un server, una combinazione di html, xml, doc, txt, e per ogni file di avere metadati.

    SO quando cerco una parola chiave, dovrebbe visualizzare un file con la meta descrizione come Google.

    La mia domanda è, oltre all'html, è possibile aggiungere metadati a qualsiasi altro formato di file, in modo che venga mostrata la meta descrizione.

  2. Sareste in grado di puntare verso un motore di ricerca Java ME, che può cercare all'interno di formati di file (txt, html) e visualizzare il risultato.

    Sto lavorando al mio codice per questo, ma vorrei dare un'occhiata al codice di altri popoli per qualche aiuto?

risposta

26

Lucene è la canonica motore di ricerca Java.

Per aggiungere documenti da una varietà di fonti, dare un'occhiata a Apache Tika e per un sistema completo con servizio/interfacce web, solr.

Lucene consente di associare metadati arbitrari ai relativi documenti. Tika eliminerà automaticamente i metadati da una varietà di formati.

4

1) La mia domanda è diversa da html è possibile aggiungere metadati a qualsiasi altro formato di file, in modo che venga mostrata la meta descrizione.

In generale si utilizza un database e si memorizzano i metadati insieme al documento. Faresti quindi una ricerca per parola chiave usando una query di database (possibilmente usando SQL like o ilike).

I file possono essere memorizzati sul disco rigido solo con percorsi nel DB o inseriti nel database come CLOB o BLOB, a seconda se si dispone di documenti di testo o binari.

2) Sareste in grado di indicare verso un motore di ricerca Java, che può cercare all'interno di formati di file (txt, html) e visualizza il risultato.

Prova Apache Lucene.

3

Il veramente buono è Lucene. Ci sono molti plugin (che permetterebbe ad esempio si legge da .doc), supportare più lingue e molti algoritmi (come Levenshtein distanza)

3

Guarda apache nutch

Apache Nutch is an open source web-search software project. 

Nutch si basa sulla cima di Lucene/solr per l'indicizzazione, tika per l'analisi dei documenti e aggiunge il proprio crawler web.

3
  • Google ignora completamente meta descrizioni al giorno d'oggi, perché è stato uno abusato, o no pieno di valori significativi
  • Lucene e/o Solr potrebbe fare ciò che si vuole, dare un'occhiata.
  • 100 file è una quantità molto piccola, non avrai alcun problema a gestire questa quantità di dati nel modo che preferisci, se è per l'esercizio.
3

... lucene e solr vengono in mente come codice di gran lunga le altre persone è interessato.

2

Apache Tika per estrarre i metadati .

Apache Tika L'Apache Tika toolkit è un ASFv2 con licenza open source strumento per estrarre informazioni da documenti digitali. Tika consente ai motori di ricerca , ai sistemi di gestione dei contenuti e ad altre applicazioni che funzionano con vari tipi di documenti digitali per rilevare facilmente e estrarre i metadati e il contenuto da tutti i principali formati di file.

3

Dovrete usare diverse librerie. Prima di tutto, come molte persone menzionate prima, è possibile utilizzare Lucene per effettuare la ricerca effettiva. Tuttavia, Lucene gestisce solo il testo normale, quindi è necessario estrarlo dai file che indicizzate. Per questo, è possibile utilizzare Apache Tika.

Per iniziare, è consigliabile acquistare il libro Lucene in Action 2nd edition. La maggior parte degli esempi in là sono ancora aggiornati. Se vuoi essere un cheapskate puoi anche solo guardare il codice sorgente fornito su quella pagina.

Problemi correlati