我正在我的应用程序中使用 Solr。我在用阿帕奇-solr-solrj-1.4.0.jar.
当我尝试打电话时add(SolrInputDocument doc)
from CommonsHttpSolrServer
,我收到以下异常:
org.apache.solr.common.SolrException:内部服务器错误
内部服务器错误
在org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:424)
在org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:243)
在 org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:105)
在 org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:64)
谁能帮我解决这个问题吗?
以下是其中的属性solrconfig.xml:
<lockType>native</lockType>
<unlockOnStartup>false</unlockOnStartup>
<reopenReaders>true</reopenReaders>
我在 solr 服务器日志中收到以下异常:
2010 年 5 月 24 日上午 2:51:22 org.apache.solr.common.SolrException 日志
严重:java.lang.NullPointerException
在 org.apache.solr.handler.ReplicationHandler$4.postCommit(ReplicationHandler.java:922)
在 org.apache.solr.update.UpdateHandler.callPostCommitCallbacks(UpdateHandler.java:78)
在 org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:411)
在 org.apache.solr.update.processor.RunUpdateProcessor.processCommit(RunUpdateProcessorFactory.java:85)
在 org.apache.solr.handler.RequestHandlerUtils.handleCommit(RequestHandlerUtils.java:107)
在 org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:48)
在 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
在 org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
在org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
在 org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
在org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:210)
在 org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
在 org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
在 org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
在 org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
在 org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
在 org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
在 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
在 java.lang.Thread.run(Thread.java:619)
信息:{} 0 1039
2010 年 5 月 24 日上午 2:52:29 org.apache.solr.common.SolrException 日志
严重:org.apache.lucene.store.LockObtainFailedException:锁定获取超时:NativeFSLock@./solr/data/index/lucene-be18de26b941317e71dc59f9e5ba63c4-write.lock
在 org.apache.lucene.store.Lock.obtain(Lock.java:85)
在 org.apache.lucene.index.IndexWriter.init(IndexWriter.java:1545)
在 org.apache.lucene.index.IndexWriter.(IndexWriter.java:1402)
在 org.apache.solr.update.SolrIndexWriter.(SolrIndexWriter.java:190)
在 org.apache.solr.update.UpdateHandler.createMainIndexWriter(UpdateHandler.java:98)
在 org.apache.solr.update.DirectUpdateHandler2.openWriter(DirectUpdateHandler2.java:173)
在 org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:220)
在 org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:61)
在 org.apache.solr.handler.XMLLoader.processUpdate(XMLLoader.java:139)
在 org.apache.solr.handler.XMLLoader.load(XMLLoader.java:69)
在 org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54)
在 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
在 org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
在org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
在 org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
在org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:210)
在 org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
在 org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
在 org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
在 org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
在 org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
在 org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
在 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
在 java.lang.Thread.run(Thread.java:619)
我在 solrconfig.xml 中设置了以下内容并且它有效。
<lockType>simple</lockType>
<unlockOnStartup>true</unlockOnStartup>
另外,设置以下以避免索引目录上的写锁定异常:
<maxFieldLength>10000</maxFieldLength>
<writeLockTimeout>60000</writeLockTimeout>
<commitLockTimeout>60000</commitLockTimeout>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)