solr - 如何在多核设置中使用 Solr 的 MoreLikeThis 功能?

标签 solr full-text-search morelikethis

所以我使用多核功能设置了具有多个核心的 Solr,该功能运行良好:

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

按预期工作并列出结果。

现在我想做的就是在启用 MoreLikeThis 的情况下向 Solr 发送相同的查询:

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

我在 org.apache.solr.schema.FieldType.storedToIndexed 处收到 HTTP Status 500 - null java.lang.NullPointerException。 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)

最佳答案

MoreLikeThis 需要存储唯一 key 。

关于solr - 如何在多核设置中使用 Solr 的 MoreLikeThis 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7929980/

相关文章:

solr - 接受到在 Windows Server 2012 上运行的 Solr/Jetty 实例的远程连接

mysql - 我可以在共享主机上更改 "ft_min_word_len"吗?

database - 在 Postgresql 上使用部分字符串进行全文搜索

hadoop - 具有各种文档(pdf、ppt、MS word、纯文本等)的 hadoop 可搜索存档的最佳实践

indexing - 在 RavenDB 中创建更多类似的内容

用于非规范化混合语言文档的 Solr 语言检测更新处理器

search - Solr和ElasticSearch的可伸缩性:5000个值的字段

java - Solr 我怎样才能先拥有原始术语而不是词干版本?

更像这样的 solr 获得分组结果

elasticsearch - 加速elasticsearch more_like_this查询