想象一下我有这样的文件:
{
"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编写查询。