SOLR没有搜索所有SHARDS

时间:2016-09-15 16:17:12

标签: solr

我在solr中创建了一个节点(shrd1)并在其中创建了一个核心并运行以下命令

  

.. solr-5.1.0 \ bin> solr.cmd -s solr / shrds / shrd1 -p 8886 -f

并导入具有id和name作为字段并且查询相同的数据,并且它正常工作。

然后我在solr中创建了另一个节点(shrd2)并在其中创建了一个核心并运行以下命令

  

.. solr-5.1.0 \ bin> solr.cmd -s solr / shrds / shrd2 -p 8887 -f

并导入具有id和name作为字段并且查询相同的数据,并且它正常工作。

现在正在尝试分布式搜索,所以尝试了下面的东西浏览器,

  

http://localhost:8887/solr/souro_core2/select?q=name:souro&indent=true&shards=localhost:8886/solr/souro_core1,localhost:8887/solr/souro_core2

(两个碎片都有名称souro,所以它应该返回结果2对吗?) 但不是返回两个结果,结果只来自一个分片。

你可以告诉我我错过了什么吗?为什么我没有得到所有分片的结果为什么我只能从一个分片中获取?

P.S。 - 我已经按照以下链接进行了相同的操作,

  

https://cwiki.apache.org/confluence/display/solr/Distributed+Search+with+Index+Sharding

2 个答案:

答案 0 :(得分:0)

试试这个

http://localhost:8887/solr/souro_core2/select?q=name:souro&indent=true&shards=shard1,shard2

那应该有用 如果你有一个名为souro_core2的集合,它有两个碎片。

答案 1 :(得分:0)

最后我得到了答案。在两个分片中都有一个" id"字段和两者都包含值1。 但经过一些研究后我发现了,

ID必须在核心之间是唯一的。唯一键字段在所有分片中必须是唯一的。如果遇到具有重复唯一键的文档,Solr将尝试返回有效结果,但行为可能是不确定的。

  

链接:   Search across multiple cores and get unified result

在我的情况下,它只返回一个结果。我改变了id的值并得到了预期的结果。