目前,索引有 x 个文档使用IndexWriter
. 写入 x 后,将进行检查以确保持久索引上一切正常。
var reader = IndexReader.Open(path);
If(!reader.NumDocs() == ExpectedCount)
{
// Do stuff
}
有没有更好的方法来实现这一目标?IndexReader
不断地开一个必须很昂贵......
目前,索引有 x 个文档使用IndexWriter
. 写入 x 后,将进行检查以确保持久索引上一切正常。
var reader = IndexReader.Open(path);
If(!reader.NumDocs() == ExpectedCount)
{
// Do stuff
}
有没有更好的方法来实现这一目标?IndexReader
不断地开一个必须很昂贵......
来自http://blog.mikemccandless.com/2012/03/transactional-lucene.html
Lucene 实现 ACID 属性: - 原子性:当您在 IndexWriter 会话中进行更改(添加、删除文档)然后提交时,您的所有更改(如果提交成功)或没有(如果提交失败)将是可见的,从来没有介于两者之间的东西。
我认为没有充分的理由怀疑上述合同。