我正在研究使用Lucene搜索的Java项目(Simple Lucene Library不使用Solar)。当我运行项目时,它会卡住,一段时间后会显示org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out exception.
解决此问题的最快捷方法是删除lucene索引文件夹中的write.lock
文件并重新启动tomcat。但是,当我运行我的应用程序时,它显示相同的异常。我希望永久解决这个问题。
请在这方面帮助我。
答案 0 :(得分:3)
获取该错误是您处理IndexReader
和IndexWriter
的方式出现问题的明显迹象。您可能正在为同一目录打开多个。不应直接处理它们,而应使用NRTManager
或SearcherManager
,它们会根据最佳做法自动处理重新打开。