Lucene Indizierung in Echtzeit?
Was ist der beste Weg, um zu erreichen, Lucene Indizierung in Echtzeit?
- Echtzeit-Indizierung was? Könnten Sie erklären, ein wenig mehr, was Sie suchen.
- Nachdem er in 2 Jahren Arbeit an diesem Projekt ab und an in solr, muss ich sagen: solr ist nicht die richtige Plattform, wenn es um die Echtzeit-Indizierung. Begeht sind sehr schwer auf die großen Indizes-ich habe gehört, große Installationen, die kaum zu verwalten, 1 Begehung pro Stunde. That being said, einem aktuellen Projekt namens Lucandra kann beweisen, vielversprechend, -- ich kann nicht finden, alle docs jetzt, aber ich dachte, ich hörte etwas von keine Notwendigkeit, zu Begehen. github.com/tjake/Lucandra#readme
- Sie müssen mehr erklären -- es gibt keine Besondere Bedeutung zu "real-time": im minimum müssen Sie festlegen, was akzeptabel wäre verzögern. Weiche Echtzeit (wie, dauert 5-10 Sekunden, um updates zu zeigen) ist nicht schwer, für nicht-Riesen-Indizes, zum Beispiel.
- Bitte schreiben Sie nicht solche verwirrenden Kommentare (über Solr). Die Frage ist lucene. Solr Ihrer Zerrissenheit hier (schließen der indexwriter Sie auf übernehmen, nicht mit Lucene ' s NRT-Funktion) off-topic ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lucene hat ein feature namens " near-real-time search, um die Adresse genau dieses Bedürfnis.
Es erforderlich, dass Ihr IndexReader ist in der gleichen JVM wie Ihr IndexWriter.
Änderungen mit dem IndexWriter, und öffnen Sie die Leser direkt von der Autorin mit IndexReader.open(Schriftsteller), oder auf ältere Lucene Versionen Schriftsteller.getReader(). Dieser Aufruf wird normalerweise sehr schnell (im Verhältnis zu, wie viele änderungen Sie vorgenommen haben, seit dem letzten öffnen eines Leser), wie es umgeht die kostenintensive Begehen, die normalerweise zum öffnen benötigt ein Lesegerät. Es ist in der Lage, um die Suche der un-verpflichtet, änderungen in den writer.
Dieser Leser, noch sucht Sie eine point-in-time-Snapshots von der Autorin, d.h. alle änderungen ab, wenn Sie es geöffnet haben.
Erhalten Sie eine index-reader aus dem index Schriftsteller.
Update: Sieht aus wie die aktuelle Methode auf öffnen Sie ein Verzeichnis reader mit einem index-Schriftsteller Objekt.
Versuchen Zoie
http://sna-projects.com/zoie/
Den Lucene-wiki einige Informationen:
http://wiki.apache.org/lucene-java/NearRealtimeSearch
SolrCloud sieht vielversprechend aus. Es ist noch sehr neu, aber bieten verteilten Solr-Indexierung in der NoSQL Geist.