我只是想知道我是否应该如何在我的应用程序中构建我的Lucene上下文:
如果我走在正确的轨道上,请告诉我。有很多关于如何读写的信息,但关于使用NRT以及何时正确提交还不够。
答案 0 :(得分:1)
我现在已经使用了几乎相同的精确架构,我发现它可以正常工作。不要在步骤3a中从IndexWriter获取读者,而是尝试使用IndexReader.Reopen()。在第4步中,只要IsCurrent()为false,就可以调用Reopen()。
答案 1 :(得分:1)
您大部分都在正确的道路上,但事实上,您可以在所有应用程序中共享您的读者/搜索者的单个实例,而无需构建它。
如果您有多个索引来管理它们,请尝试拥有索引读取器/写入器工厂,如果您能负担得起,请尝试将读取器和写入器保留在同一应用程序中,这样您就可以从Lucene的NRT功能中受益.NET。
另外,请查看此Wiki以获取NRT建议: