获取Elastic Search索引中所有重复文档的列表

时间:2019-06-17 11:14:31

标签: elasticsearch kibana

想象一下我有这样的文件:

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

如何获取customerId字段中具有唯一值的所有文档的列表?

因此,对于此集合:

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

我需要得到这个集合作为结果:

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

我需要1个可在Kibana的“ Dev Tools”选项卡中执行的查询,而不是组合使用或在特定SDK(例如Elastic Search Java API)中使用多个查询来实现。 / p>

这是我尝试过的查询,但结果却不正确:

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编写查询。

0 个答案:

没有答案