ES跨叢集查詢聚合不到資料的問題
阿新 • • 發佈:2020-12-29
● 系統環境說明
Linux環境:centos 7.2
騰訊雲ES Service:7.5.1
Java:1.8.0_181
● 叢集配置
32核64GB, 3個(主節點)
50GB 高效能雲盤 x1
32核64GB, 12個(資料節點)
6000GB SSD雲硬碟 x2
問題異常:
ES cross cluster search(CCS)跨5個叢集,查詢到了資料,但是隻聚合出1條結果。
GET /cluster_five:imlog_k12-2020-11-05/_search
{
"size": 10,
"query": {
"bool": {
"filter": [{
"range": {
"log_timestamp": {
"gte": "1604567040000",
"lte": "1604567459000",
"format": "epoch_millis"
}
}
}, {
"query_string": {
"analyze_wildcard": true,
"query": "project:\"scon_helper_server\" AND env:\"prod\" AND message:*user_external*"
}
}]
}
},
"aggs": {
"message_group": {
"terms": {
"field": "message.keyword"
}
}
}
}
解決方案:
這個是由於各個叢集的mapping不一致導致,確認一下各叢集的mapping。使用exists query即可確認:
{
"query":{
"exists":{
"field":"message.keyword"
}
}
}