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。檢查你的測試數據。我已經在我的系統中測試過了。 –