小智 8
Lucene有一个称为近实时搜索的功能来满足这种需求.
它要求您的IndexReader与IndexWriter位于同一JVM中.
您使用IndexWriter进行更改,然后使用IndexReader.open(writer)直接从编写器打开读取器,或者在较旧的Lucene版本上使用writer.getReader().此调用通常非常快(与您上次打开阅读器后所做的更改次数成比例),因为它绕过了打开阅读器通常所需的代价高昂的提交.它能够搜索作者中未提交的更改.
此阅读器仍然会从编写器中搜索时间点快照,即从打开它时开始的所有更改.