基数错误[弹性搜寻]

时间:2019-07-02 23:16:00

标签: elasticsearch

我正在尝试编写查询以获取字段'customId'上的所有唯一值。

我正在使用的查询是-

{
   "_source": ["customId"],
  "query": {
    "query_string": {
      "fields": [
        "prevAddressMap.*"
      ],
      "query": "1st st"
    }
  },
  "aggs": {
    "distinct_count": {
      "cardinality": {
        "field": "customId.keyword"
      }
    }
  }
}

响应-

{'distinct_count': {'value': 3499}}

但是当我将这些值放入集合中时,得到的答案是4,这是正确的答案。

d = []
for h in res['hits']['hits']:
    d.append(h['_source']['customId'])
d = set(d)
print(len(d))

有什么区别的原因吗?

1 个答案:

答案 0 :(得分:0)

prevAddressMap。*。关键字解决了该问题。