答案 0 :(得分:5)
我在solrconfig.xml中设置了以下内容,但它可以正常工作。
<lockType>simple</lockType>
<unlockOnStartup>true</unlockOnStartup>
另外,设置以下内容以避免索引目录上的写锁定异常:
<maxFieldLength>10000</maxFieldLength>
<writeLockTimeout>60000</writeLockTimeout>
<commitLockTimeout>60000</commitLockTimeout>
答案 1 :(得分:1)
我很不确定,但在这个帖子中
http://www.mail-archive.com/solr-user@lucene.apache.org/msg08048.html
他们建议使用
<unlockOnStartup>true</unlockOnStartup>
和
<lockType>simple</lockType>
我认为只要您通过solr或solrj(不是lucene!)访问索引,这应该是安全的。
还有其他想法吗?
答案 2 :(得分:0)
SolrJ客户端没有给出实际错误。尝试查看应该位于tomcat或jetty(或任何运行solr)下的solr服务器日志。
答案 3 :(得分:0)
听起来像一个腐败的索引或繁忙的锁定文件..我有类似的东西,重新启动工作,奇怪的是。
答案 4 :(得分:0)
它来自于在执行某些更新操作后无法删除write.lock文件。删除核心数据/索引文件夹中的write.lock将暂时解决此问题并重新获得更新操作。我知道使用post.jar来更新会导致这个问题更加糟糕,而使用stream.body的url很少会导致这个问题。卡鲁塞尔的回答确实改善了局面,但似乎根本没有解决。我怀疑它来自Solr的一些设计问题。希望Solr 4解决了这个问题。也可以参考这个问题的答案:how-to-solve-the-lock-obtain-timed-out-when-using-solr-plainly