在我的项目中,我们使用分类:设2.4.1用于全文搜索。这是一个J2EE项目,IndexSearcher是创建一次。在该背景,该指数是以刷新,每隔几分钟(当的内容的变化)。用户可检索的索引,通过一个搜索机制的网页。

问题是,返回的结果分类:设似乎是缓存。

这是方案中,我注意到:

  • 我开始应用和搜索的"关键字"-6结果返回,
  • 指数是刷新,使用 卢克 我看看,有8个结果现在就查询的"关键字",
  • 我再次搜索中使用的应用程序,再次6返回的结果。

我分析了我们的结构并没有发现任何缓存在任何地方。我已经试搜索,并没有缓存在出代码, searcher.search returnes6的结果。

不分类:设缓的结果境内某种方式?什么是性等。我应该检查?

有帮助吗?

解决方案

看到改变由IndexWriters对一个指数为你有一个开放的IndexReader,一定要叫 IndexReader.重新开放() 看看最新的变化。

确定还你 IndexWriter 是承诺的变化,无论是通过明确的承诺()、close(),或具有自动提交设定为真实的。

其他提示

与以前的版本2.9.0,分类:设缓存的自动结果的查询。与以后的版本没有缓除非你把你的查询在QueryFilter然后包裹的结果在CachingWrapperFilter.你可以考虑换到释放>=2.9.0如果重新开放索引成为一个问题

一个更加注意:为了IndexReader找到实时的其他线更新的文件,在初始化IndexReader,参数"只读"已经是假的。否则,方法重新打开()不会的工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top