繁体   English   中英

在使用 Lucene 建立索引期间搜索没有响应

[英]Searching is not responsive during indexing with Lucene

当我重新索引我的应用程序的数据库数据并且同时执行搜索时,运行搜索的线程将进入休眠状态,直到重新索引完成。 我假设索引方法是线程安全的,以防止在索引时更改数据。 Lucene 中是否有任何内置方式使其仅响应搜索(数据未更改)? 还是我应该开始自己思考一些事情? 我在 Tomcat 服务器上运行我的应用程序。

谢谢,托默

我假设您实际上是在重建索引(或从头开始重新索引所有内容,而不是重新索引单个文档)。 在重建索引时,您无法对其执行查询,因为它与 state 不一致。

经常使用的最简单的解决方案是在后台重建索引(同时仍然对旧索引执行查询),然后用新索引替换它。

如果您面临的问题与频繁的服务器崩溃有关,则可能值得研究一些更系统的方法,例如在Zoie中实现的方法——它记录后续的索引请求,因此它可以从最后一次正确恢复索引快照。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM