Creare un motore di ricerca con Lucene e PHP

Durante uno dei miei progetti mi è capitato di dover trovare una soluzione per creare un motore di ricerca in grado di indicizzare diversi tipi di file, come documenti di Microsoft Office, PDF e testo semplice.

Indicizzare documenti Microsoft Office con Lucene

La prima soluzione che mi è venuta in mente è di utilizzare Lucene.
Lucene è un progetto open source che fornisce la tecnologia necessaria per l’indicizzazione e la ricerca di testo. È scritto in Java, quindi è indipendente dalla piattaforma, inoltre non è una vera e propria applicazione, ma un insieme di librerie, quindi si può aggiugere come modulo ad applicazioni già esistenti. Altro punto di forza è la possibilità di effettuare ricerche full text.

Sebbene sia molto avanzato, da solo non consente l’indicizzazione di documenti nei formati già citati, però fornisce delle API per consentire di effettuare il parsing con codice esterno.
Per svolgere questo compito si può utilizzare Tika, un sotto-progetto di Lucene.
Approfondisci