我们有一个包含2个节点的elasticsearch集群,每个节点包含总共10个分片(5个主分片,5个副本) . 两个节点彼此同步 .

当我们多次执行phrase_prefix匹配查询(类似于下面提到的那个)时,我们在响应中获得最多4个不同的总命中 .

{
  "query": {
    "filtered": {
      "query": {
        "bool": {
          "must": [
            {
              "match": {
                "field.subfield": {
                  "query": "11",
                  "type": "phrase_prefix"
                }
              }
            }
          ]
        }
      }
    }
  }
}

我们查询的字段没有特殊的映射,它只是一个字符串 .

我试图弄清楚为什么总命中数会发生变化,索引没有任何变化 . 我错过了一些明显的东西吗?

有关为何会发生这种情况的任何想法

干杯 .