Lucene ist großartig. Sehr flexibel, überraschend schnell und eine solide API. Die Mailingliste ist sehr hilfreich.
Die Dateien benötigen ein wenig Wartung, aber es kann mit bereitgestellten Tools getan werden. Von grundlegender Bedeutung ist die gelegentliche Optimierung des Indexes, dies wird jedoch nur benötigt, wenn Sie den Index regelmäßig aktualisieren.
Ich würde vorschlagen, in Solr auch zu suchen. Es ist im Wesentlichen eine Webapp und Tools, die auf Lucene sitzen. Es erleichtert die Erstellung neuer Indizes, die Optimierung und die Master/Slave-Synchronisierung für einen skalierbaren Suchcluster. Dies hängt natürlich von Ihren tatsächlichen Bedürfnissen ab.
Für ein persönliches Beispiel, pflegte ich, um einen Suchindex für eine große, bekannte, Gaming-Firma zu pflegen. Der Index hatte Hunderttausende Einträge in mehreren Sprachen (weltweit) und Gebietsschemata. Es hat jeden Tag eine Million Suchvorgänge auf dem Cluster durchgeführt, ohne dass es eine CPU und eine vernünftige Speichermenge gab. Es wurde Last auf etwa 300 Millionen Suchen pro Tag getestet, auf der Hardware, die wir hatten, und würde linear skalieren, indem einfach weitere Boxen zum Cluser hinzugefügt wurden. Solr und Lucene waren die wichtigsten Werkzeuge dafür.
Wenn ich hatte, um einen Nachteil zu geben, wäre es Lernkurve. Es ist ziemlich viel zu verstehen, und wenn Sie eine wirklich optimierte Lösung wollen, müssen Sie es gut wissen. Dies geschieht jedoch mit jedem von Ihnen verwendeten Suchwerkzeug, wenn Sie es selbst tun. Die Dokumentation, die Wikis und die Mailingliste bieten eine Menge Unterstützung für diesen Hochlauf.
Das ist kein spezifisches Lucene-Problem, das gleiche gilt für jedes Indizierungssystem. – bdargan