首页 文章

Solr MoreLikeThis不适用于多个分片?

提问于
浏览
0

我在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 回答

  • 1

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

    但是,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

相关问题