TinyURL

Enter a long URL to make tiny:

lunedì 18 agosto 2008

Lucene

Ho già accennato a Lucene all'interno del Blog qui , ed ora mi è sembrato il caso di dovervi spiegare un po' meglio di cosa si tratta, vi propongo quindi una parte di un documento,dove vengono spiegati alcuni aspetti di Lucene, sull' "Information Retrieval" a cui sto lavorando in questi giorni. (Una delle fonti di parte del lavoro la potete trovare qui)

Descrizione
E' stato implementato in Java da Doug Cutting. Ora è supportato dall'Apache Software Foundation ed è reso disponibile con licenza ASL (Apache software License). E' disponibile anche in altri linguaggi come il Perl, C++, ecc.

E' stato concepito per aiutare a realizzare applicazioni che necessitano di funzionalità di indicizzazione e ricerca full text. Non bisogna però considerare Lucene come un motore di ricerca.
I dati gestiti da Lucene sono rappresentati come documenti (document) dotati di campi (fields) testuali. Questa genericità consente di realizzare con le API di Lucene prodotti che sono indipendenti dal formato dei file: possono essere indicizzati con lucene testi in vari formati ed ogni altro tipo di file dal quale è possibile estrarre informazioni.
La possiamo quindi considerare come una libreria estremamente flessibile che ci permette di inserire nelle nostre applicazioni le funzionalità di un motore di ricerca.

Panoramica sull'utilizzo
Occorre rendersi conto della flessibilità delle API che vengono messe a disposizione da Lucene per poter capire come utilizzarle.
Nel momento in cui noi vogliamo creare un indice dobbiamo utilizzare la classe IndexWriter di Lucene, che ci permette appunto di aggiungere tutti i Document al nostro indice. Il Document stesso deve essere creato da noi, inserendo al suo interno i diversi Field che lo descrivono.
Quando dobbiamo effettuare una ricerca ci dobbiamo basare sul QueryParser, che è la classe generatrice delle nostre Query. Come risultato di una query avremo un vettore di Document, che soddisfano i requisiti della nostra ricerca.

3 commenti:

  1. Se interessati allo stesso argomento ho scritto riguardo
    Esempio base per indicizzare e ricercare con Lucene
    http://programmaremobile.blogspot.com/2008/10/lucene-un-motore-di-ricerca-in-java.html#links

    Esempio e spiegazioni riguardio lo spellChecking (Il "forse cercavi ..")
    http://programmaremobile.blogspot.com/2008/10/lucene-spellchecker-forse-cercavi.html#links

    RispondiElimina
  2. Grazie Giuseppe, sicuramente guarderò i tuoi post, penso di tornare presto a parlare di Lucene.

    RispondiElimina
  3. Ciao io stò utilizzando lucene per la mia tesi di laurea ho notato che è ottimo e molto modulabile però ho un problema non riesco a fargli in dicizzare i file pdf....tu puoi mica aiutarmi???te ne sarei grato....

    RispondiElimina