首页 文章

SOLR没有搜索所有SHARDS

提问于
浏览
0

我在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吗?)但是不是返回两个结果,结果只来自一个分片 .

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

附: - 我已经按照以下链接进行了相同的操作,

https://cwiki.apache.org/confluence/display/solr/Distributed搜索索引分片

2 回答

  • 0

    试试这个

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

    这应该工作如果你有一个名为souro_core2的集合,它有两个分片 .

  • 0

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

    The Id needs to be unique across cores. The unique key field must be unique across all shards. If docs with duplicate unique keys are encountered, Solr will make an attempt to return valid results, but the behavior may be non-deterministic.

    链接:跨多个核心搜索并获得统一结果

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

相关问题