提问者:小点点

如何在开始另一个之前停止运行索引?


我正在制作一个使用Lucene作为搜索引擎的网络应用程序。首先,用户必须选择要索引的文件/目录,然后才能搜索它(duh!)。我的问题发生在用户试图索引大量数据时:例如,如果时间太长,用户刷新页面并尝试索引另一个目录,则会引发异常,因为第一个索引仍在运行(write.lock显示)。既然如此,如何才能停止第一次索引?我尝试关闭IndexWriter,但没有成功。

提前感谢。


共2个答案

匿名用户

为什么要中断第一次索引操作并再次重新启动它?

在我看来,你应该显示一个简单的图像,显示系统正在工作(正如尼尔森所说:“系统应该始终让用户了解正在发生的事情,在合理的时间内通过适当的反馈。

匿名用户

您可能试图在已经打开了indexwriter的索引目录上打开indexwriter实例。如果你在两个不同的索引目录下打开了indexwriter,那么write.lock就不会发生异常。请检查新的indexwriter实例是否没有写入之前打开的索引目录,该目录上已经打开了indexwriter。