2011-10-28 31 views
3

所以我已經設置了Solr的使用多核功能,多個內核的正常工作:如何在MultiCore設置中使用Solr的MoreLikeThis功能?

http://localhost:8080/solr/core_one/select/?q=Book 

按預期工作,並列出結果。

現在我想要做的就是發送相同的查詢到Solr啓用MoreLikeThis:

http://localhost:8080/solr/core_one/select/?q=Book&mlt=true&mlt.fl=category 

我得到一個HTTP狀態500 - 在org.apache.solr.schema空顯示java.lang.NullPointerException .FieldType.storedToIndexed。 mlt.fl的字段存在。有趣的是,如果我查詢沒有任何結果的東西,Solr會正確地返回一個空的結果集。

所以這是一個錯誤還是我錯過了什麼?

這是一個完整的堆棧跟蹤:

HTTP Status 500 - null java.lang.NullPointerException at 
org.apache.solr.schema.FieldType.storedToIndexed(FieldType.java:360) at 
org.apache.solr.handler.MoreLikeThisHandler$MoreLikeThisHelper.getMoreLikeThis(MoreLikeThisHandler.java:320) at 
org.apache.solr.handler.component.MoreLikeThisComponent.getMoreLikeThese(MoreLikeThisComponent.java:82) at 
org.apache.solr.handler.component.MoreLikeThisComponent.process(MoreLikeThisComponent.java:57) at 
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:194) at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) at 
org.apache.solr.core.SolrCore.execute(SolrCore.java:1368) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356) at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252) at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at 
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864) at 
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) at 
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665) at java.lang.Thread.run(Thread.java:679) 
+1

看起來像Solr中的一個bug。什麼是完整的堆棧跟蹤?你使用什麼版本? –

+0

我嘗試了最新版本(3.4.0)和之前的版本(3.2)。 – OpenHaus

+0

請格式化堆棧跟蹤,目前它顯示在一行中。 –

回答

5

MoreLikeThis需要存儲唯一鍵。