我有问题使用solr的组特征。我根本无法使用该功能。这是对问题的描述。solr group.field nullpointer例外
我使用的组字段定义如下。
字段名=“群ID”类型=“字符串”索引=“真正的”存储=“真正的”多值=“假”
的索引“群ID”字段有效值。
最初,我尝试在上面的字段上使用Solrj客户端API使用“组”功能。我开始得到“HTTP状态500内部服务器错误...”假设参数的语法或顺序可能是一个问题,我决定使用Firefox浏览器测试相同的功能。
.../solr/select/?q=title%3Acomputer
通过有效的clusterid(s)产生一组不错的结果。
但是,当我尝试使用clusterid字段对结果进行分组时,出现空指针异常。下面是用于分组
.../solr/select/?q=title%3Acomputer&group=true&group.field=clusterid
URL和反应是在 org.apache.solr.handler
类型状态报告
消息空显示java.lang.NullPointerException。 clustering.ClusteringComponent.process(ClusteringComponent.java:89) 在 org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:186) 在 组织。 apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)at org.apache.solr.servlet.SolrDispatchFilter.execute( SolrDispatchFilter.java:365) 在 org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260) 在 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.co re.StandardContextValve.invoke(StandardContextValve.java:191) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve。的java:102) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 在 有机.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) 处 org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:588) org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread。java:662)
注意:我在Windows XP上使用solr版本3.6.2。 solrconfig文件只对内存设置进行更改(增加值)。
当我尝试使用多值字段作为组字段时,响应消息非常明确,“multiValued”字段不能用于分组。当我使用非字符串字段进行测试时,我又得到了那些不是字符串字段等的响应。
但是,当提供字符串类型的字段(clusterid或任何其他字符串类型的字段)时 - null指针异常被抛出。
我是否错过任何明显的内容(在模式或solrconfig文件中)?
我试图在Solr 3.6分组中搜索结果中的某些文档中缺少的字符串字段,它仍然没有抛出NPE。它为这些文档提供'groupValue'作为null,所以这很奇怪。 – arun
为什么调用ClusteringComponent?你在发射群集查询吗? – Jayendra