0
我需要找到不同的域ID的使用elasticsearch
Elasticsearch獲得不同的行數
我的數據格式計數
{
"_index": "outboxprov1",
"_type": "user",
"_id": "16bcd4dc080f4c789018dd97f76741ef",
"_score": 1,
"_source": {
"first_name": "jinu",
"team_id": "500"
}
},
{
"_index": "outboxprov1",
"_type": "user",
"_id": "9ed8afe738aa63c28b66994cef1f83c6",
"_score": 1,
"_source": {
"first_name": "lal",
"team_id": "500"
}
},
{
"_index": "outboxprov1",
"_type": "user",
"_id": "1d238cd2f8c06790fc20859a16e3183b",
"_score": 1,
"_source": {
"first_name": "author1",
"team_id": "500"
}
},
{
"_index": "outboxprov1",
"_type": "user",
"_id": "616ee1c00a02564f71bb6c3067054d55",
"_score": 1,
"_source": {
"first_name": "kannan",
"team_id": "400"
}
},
{
"_index": "outboxprov1",
"_type": "user",
"_id": "d48132bfaed792f3c32d12e310d41c87",
"_score": 1,
"_source": {
"first_name": "author3",
"team_id": "400"
}
},
{
"_index": "outboxprov1",
"_type": "user",
"_id": "1a9d05586a8dc3f29b4c8147997391f9",
"_score": 1,
"_source": {
"first_name": "dibish",
"team_id": "100"
}
}
]
}
在這裏有三個不同的team_id
S:500, 400, 100
。在這種情況下,我想爲3。我已經試過基數聚集數:
{
"size": 0,
"query" : {
"match_all" : { }
},
"aggs" : {
"team_id_count" : {
"cardinality" : {
"field" : "team_id"
}
}
}
}
我在這裏得到正確的結果,但我可以看到,elasticsearch
文檔指出基數是實驗性功能,它可能將來可能會發生變化。
有沒有什麼辦法可以在不使用基數聚合的情況下實現這一點?使用這個實驗性基數函數有什麼問題嗎?請指導我正確的方向。
我已經試過方面聚集較早,但我不是在這裏得到準確的計數。響應類似下面的方式 「桶」:[ { 「鑰匙」: 「500」, 「doc_count」:3 }, { 「鍵」: 「400」, 「doc_count」:2 } ] – Dibish
嗯。索引您的文檔後,我得到正確的結果。你的索引是否有映射?我的結果:{ 「team_id_count」:{ 「桶」:[ { 「鑰匙」: 「500」, 「doc_count」:3 }, { 「鍵」: 「400」, 「doc_count 「:2 },{ 「鍵」: 「100」, 「doc_count」:1 } ] } } – Mustafa
感謝快速回復。我也得到了同樣的結果。但我需要得到3的計數,即3個不同的ID在那裏(500,400,100) – Dibish