码迷,mamicode.com
首页 > 其他好文 > 详细

ES跨集群查询聚合不到数据的问题

时间:2021-01-02 11:30:48      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:query   exist   log   external   car   for   app   server   map   

● 系统环境说明

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"
    }
  }
}

技术图片

技术图片

ES跨集群查询聚合不到数据的问题

标签:query   exist   log   external   car   for   app   server   map   

原文地址:https://www.cnblogs.com/daemonyue/p/14208313.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!