实现Lucene实时索引的最佳方法是什么?
答案 0 :(得分:8)
Lucene有一项称为近实时搜索的功能,可以满足这种需求。
它要求您的IndexReader与IndexWriter位于同一JVM中。
使用IndexWriter进行更改,然后使用IndexReader.open(writer)直接从编写器打开读取器,或者在较旧的Lucene发行版中使用writer.getReader()。此调用通常非常快(与您上次打开阅读器后所做的更改次数成比例),因为它绕过了打开阅读器通常所需的代价高昂的提交。它能够搜索作者中未提交的更改。
此阅读器仍然会从编写器中搜索时间点快照,即您打开时的所有更改。
答案 1 :(得分:4)
从索引编写器中获取索引器。
更新:看起来当前的方法是open a directory reader using an index writer对象。
答案 2 :(得分:2)
答案 3 :(得分:1)
Lucene wiki有一些信息: http://wiki.apache.org/lucene-java/NearRealtimeSearch
答案 4 :(得分:1)