【发布时间】:2014-11-10 11:23:20
【问题描述】:
我有一个应用程序,用户在其中将数据插入 Lucene.NET (v3.0.3.0) 并且应该能够在几秒钟后查询新数据。
目前,我正在为每个执行的查询创建一个新的 IndexSearcher 实例。据说这很慢,出于性能原因,建议使用缓存的 IndexSeacher 实例。
只要我将 IndexSearcher 保存在缓存中,查询似乎就会引用旧数据。未找到新添加的文档。
我试着打电话
searcher.IndexReader.Reopen();
但这并没有帮助。只有以下代码才能确保搜索返回最新文档:
Lucene.Net.Store.Directory dir = Lucene.Net.Store.FSDirectory.Open(@"c:\lucene\test");
searcher = new IndexSearcher(dir);
如何确保读取最新数据而不必为每个查询重新创建新的 IndexSearcher?
【问题讨论】:
标签: lucene lucene.net