Lucene è fantastico. Molto flessibile, sorprendentemente veloce e un'API solida. La mailing list è estremamente utile.
I file richiedono un po 'di manutenzione, ma possono essere eseguiti con gli strumenti forniti. Di primaria importanza è l'ottimizzazione dell'indice a volte, ma è necessario solo se si aggiorna l'indice regolarmente.
Suggerirei di guardare anche in Solr. È essenzialmente una webapp e strumenti che si trovano sopra Lucene. Rende più semplice creare nuovi indici, mantenerli ottimizzati e fornire la sincronizzazione master/slave per un cluster di ricerca scalabile. Questo, ovviamente, dipende dai tuoi bisogni effettivi.
Per un esempio personale, ero solito mantenere un indice di ricerca per una grande e nota società di gioco. L'indice ha centinaia di migliaia di voci in più lingue (in tutto il mondo) e locali. Ha eseguito un milione di ricerche ogni giorno sul cluster senza utilizzare quasi nessuna CPU e una quantità ragionevole di memoria. Il carico è stato testato per circa 300 milioni di ricerche al giorno, sull'hardware che avevamo e sarebbe scalato linearmente aggiungendo semplicemente più scatole al cluser. Solr e Lucene erano gli strumenti principali per questo.
Se I avesse dare un lato negativo, sarebbe una curva di apprendimento. C'è un bel po 'di comprensione, e se vuoi una soluzione veramente ottimizzata, devi conoscerla bene. Tuttavia, questo accadrà con qualsiasi strumento di ricerca che usi, se lo fai tu stesso. La documentazione, i wiki e la mailing list forniscono un ampio supporto per questo aumento.
Questo non è un problema specifico di lucene, lo stesso vale per qualsiasi sistema di indicizzazione. – bdargan