Solr MoreLikeThis不适用于多个分片?

时间:2017-04-13 10:39:54

标签: solr lucene morelikethis

我在SolrCloud中有5个节点集群,每个节点有2个分片,

Solr版本:6.3.0

enter image description here

现在当我运行mlt查询时,它只返回每个节点的结果,并且不会在所有分片/节点上分发它们,即

http://10.0.1.15:8983/solr/test_ingest/mlt?q=advertising_id%w72w9424620427042&fl=score&fl=advertising_id&mlt.fl=channel_name&mlt.fl=show_name&mlt.fl=language&mlt.mindf=1

没有结果

http://10.0.1.119:8983/solr/test_ingest/mlt?q=advertising_id%w72w9424620427042&fl=score&fl=advertising_id&mlt.fl=channel_name&mlt.fl=show_name&mlt.fl=language&mlt.mindf=1

给出结果,

我甚至尝试将其指定为param:

碎片= 10.0.1.84:8983 / solr的/ test_ingest_shard3_replica1,10.0.1.84:8983 / solr的/ test_ingest_shard8_replica1,10.0.1.206:8983 / solr的/ test_ingest_shard2_replica1,10.0.1.206:8983 / solr的/ test_ingest_shard7_replica1,10.0.1.15:8983 /solr/test_ingest_shard5_replica1,10.0.1.15:8983/solr/test_ingest_shard10_replica1,10.0.1.207:8983/solr/test_ingest_shard1_replica1,10.0.1.207:8983/solr/test_ingest_shard6_replica1,10.0.1.119:8983/solr/test_ingest_shard9_replica1,10.0.1.119:8983 / solr的/ test_ingest_shard4_replica1

我的请求处理程序:

 <requestHandler name="/mlt" class="solr.MoreLikeThisHandler">
 </requestHandler>

如何配置mlt以运行分布式搜索? 感谢

1 个答案:

答案 0 :(得分:2)

据我所知,更像是这个处理程序,只有单个分片,因此它只会考虑本地分片中可用的文档。

More Like This Query Parser确实提到它是Solr Cloud感知的,所以请尝试使用它。

  

MLTQParser可以检索与给定文档类似的文档。它使用Lucene现有的MoreLikeThis逻辑,也可以在SolrCloud模式下工作。此处使用的文档标识符是唯一的id值,而不是Lucene内部文档ID。返回的文档列表不包括查询的文档。

     

查找文档,例如id = 1的文档,并使用名称字段表示相似性。

     

{!mlt qf=name}1

     

使用mintf和mindf为类似的内容添加更多约束。

     

{!mlt qf=name mintf=2 mindf=3}1