目前,索引使用IndexWriter
将x文档写入其中。在写完x之后,进行检查以确保在持久索引上一切正常。
var reader = IndexReader.Open(path);
If(!reader.NumDocs() == ExpectedCount)
{
// Do stuff
}
有没有更好的方法来实现这一目标?打开IndexReader
必须经常是昂贵的......
答案 0 :(得分:1)
来自http://blog.mikemccandless.com/2012/03/transactional-lucene.html
Lucene实现了ACID属性: - 原子性:当你做出改变时 (在IndexWriter会话中添加,删除文档),然后 commit,all all(如果提交成功)或none(如果提交) 你的改变是可见的,而不是中间的东西。
我认为没有充分理由怀疑上述合同。