浏览 3179 次
锁定老帖子 主题:使用solr的困惑!
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-16
solr放在一台服务器上,利用另一台服务器通过URL进行调用, 但是有一个问题,重建几十万索引好几次都这样,利用solr的接口优化,但是每次索引文件比较大的时候 例如现在11G,他的优化就报错: com.xx.cms.solr.client.SolrServerException: Server returned non-zero status: Caused by: Server side exception, status = 1: java.lang.NullPointerException at org.apache.lucene.index.FieldsReader.addField(FieldsReader.java:174) at org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:90) at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:284) at org.apache.lucene.index.IndexReader.document(IndexReader.java:357) at org.apache.lucene.index.SegmentMerger.mergeFields(SegmentMerger.java:186) at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:88) at org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:709) at org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:686) at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:543) at org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:459) at org.apache.solr.core.SolrCore.update(SolrCore.java:754) at org.apache.solr.servlet.SolrUpdateServlet.doPost(SolrUpdateServlet.java:52) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644) at java.lang.Thread.run(Thread.java:595) at com.xx.cms.solr.client.AbstractDocumentManagerClient.serverCall(AbstractDocumentManagerClient.java:149) at com.xx.cms.solr.client.DocumentManagerClient.optimize(DocumentManagerClient.java:205) [color=red]at com.xx.cms.system.IndexCommit.optimize(IndexCommit.java:45)[/color] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:270) at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:199) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:90) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) 而在solr的服务器上报的就是IO读写错误。 每天都执行操作每天都报这个错误。 solr应该跟lucence一样,优化的时候先把文件都复制一遍,然后在删除合并。 我一直怀疑是不是文件11G太大了,在复制的过程中报错。 大家有没有遇到过这样情况 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-09-12
没有遇到,不过我的索引没你那么大,我有7g左右。
|
|
返回顶楼 | |