Представьте, что у меня есть такие документы:
{
"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.