我在SolrCloud中有5个节点集群,每个节点有2个分片,
Solr版本:6.3.0
现在当我运行mlt查询时,它只返回每个节点的结果,并且不会在所有分片/节点上分发它们,即
时没有结果
给出结果,
我甚至尝试将其指定为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以运行分布式搜索? 感谢
答案 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