Lucene实时索引?

Kip*_*Kip 7 lucene indexing real-time

实现Lucene实时索引的最佳方法是什么?

小智 8

Lucene有一个称为近实时搜索的功能来满足这种需求.

它要求您的IndexReader与IndexWriter位于同一JVM中.

您使用IndexWriter进行更改,然后使用IndexReader.open(writer)直接从编写器打开读取器,或者在较旧的Lucene版本上使用writer.getReader().此调用通常非常快(与您上次打开阅读器后所做的更改次数成比例),因为它绕过了打开阅读器通常所需的代价高昂的提交.它能够搜索作者中未提交的更改.

此阅读器仍然会从编写器中搜索时间点快照,即从打开它时开始的所有更改.


Adr*_*lon 4

从索引写入器获取索引读取器。

更新:看起来当前的方法是使用索引写入器对象打开目录读取器

  • 通过允许搜索来查找提交点之前的文档。从作者那里获得的读者随着文档的添加而不断更新。 (3认同)