Получить список всех дубликатов документов в индексе Elastic Search - PullRequest
0 голосов
/ 17 июня 2019

Представьте, что у меня есть такие документы:

{
  "customerId" : "some-id",
  ...
}

Как мне получить список всех документов, которые имеют неуникальное значение в поле customerId?

Итак,для этой коллекции:

{ "customerId" : "0" },
{ "customerId" : "0" },
{ "customerId" : "1" },
{ "customerId" : "2" },
{ "customerId" : "3" },
{ "customerId" : "3" },
{ "customerId" : "4" },

Мне нужно получить эту коллекцию в результате:

{ "customerId" : "0" },
{ "customerId" : "3" },

Мне нужно это в 1 запросе, который является исполняемым на вкладке "Dev Tools" в Kibana , не в виде комбинации или использования нескольких запросов в определенном SDK (например, Elastic Search Java API).

Это запрос, который я пробовал, но получается, что результатыне правильно:

POST /_xpack/sql?format=txt
{
  "query": "SELECT * FROM (SELECT COUNT(customerId) document_count, documentId count FROM "my-index" GROUP BY customerId) WHERE document_count > 1"
}

Этот запрос также в SQL, что не является оптимальным при взаимодействии с Elastic Search.Было бы неплохо, чтобы запрос был написан на Query DSL.

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