ошибка в кардинальности [упругий поиск] - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь написать запрос для получения ВСЕХ УНИКАЛЬНЫХ значений в поле '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 голосов
/ 08 июля 2019

prevAddressMap. *. Ключевое слово решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...