0
我在ElasticSearch中遇到了一个问题。ElasticSearch:已过滤的唯一记录上的聚合
我正在尝试从过滤的数据集中获取独特的文档并在其上进行聚合。
我们的数据集看起来像这样.. ID对象Property1 Property2 12 123测试1 Fest2 23 234 Test3的Fest4 5 123测试1 Fest2 55 123的Test2 Fest4 3 234的Test2 Fest2
我可能想要根据property2过滤设备,并在唯一过滤的记录的property1上聚合(分组依据)。 有人可以帮助我吗?
过滤并获取唯一记录。
{
"size": 0,
"query": { "match": { "Property2": "Fest2" }},
"aggs": {
"Unique-Object": {
"terms": {
"field": "object.keyword",
"size": 20
},
"aggs": {
"top_uids_hits": {
"top_hits": {
"sort": [
{
"_score": {
"order": "desc"
}
}
],
"size": 1
}
}
}
}
}
}'
我喜欢按Property1如下上述DSL的输出......莫非这方面的一些扔一个灯?
集团通过Property1
"aggs": {
"Property1_count": {
"terms": {
"field": " Property1.keyword"
}
感谢 阿伦小号
你可以为你的需求PLZ做SQL查询,所以你的问题将是明确的? 。 –
谢谢。原始Sql查询是这样的...从表中选择count(DISTINCT id)Property2 ='xxx'group by property1 – Manoj
更新了我的答案,我认为我们应该在id和property 1上使用两个group。检查你的测试数据。我已经在我的系统中测试过了。 –