es 聚合操作实现

#GET /_cat/indices
#查看download_num的最大值分布
POST /ry_market_2_ru/_search?pretty
{
“size”: 0,
“aggs”: {
“download_num”: {
“max”: {
“field”: “download_num”
}
}
}
}
#查看download_num的百分比区间
POST /ry_market_2_ru/_search?pretty
{
“size”: 0,
“aggs”:{
“download_num”:{
“percentiles”:{
“field”: “download_num”
}
}
}
}
#查看download_num特定区间数据的比值情况
POST /ry_market_2_ru/_search?size=0
{
“aggs”:{
“download_num”:{
“percentiles”:{
“field”:“download_num”,
“percents” : [50,96,99]
}

    }
}

}
#查看数据分布情况,根据downloadNum进行数据分桶操作,相当于group by操作语句。可以观察出来数据的分布情况的
POST /ry_market_2_ru/_search
{
“size”:0,
“aggs”: {
“download_num”: {
“terms”: {
“field”: “download_num”,
“size”: 100,
“order”: {
“_key”: “desc”
}
}
}
}
}
#继续查看其他的数据分布信息
POST /ry_market_2_ru/_search
{
“size”:0,
“aggs”: {
“download_num”: {
“filter”: {
“match”:{
“seo_key”:“kitty”
}
},
“aggs”: {
“download_num”: {
“terms”: {
“field”: “download_num”,
“size”: 6,
“order”: {
“_key”: “desc”
}
}
}
}
}
}
}
#数据范围分桶操作
POST /ry_market_2_ru/_search
{
“size”: 0,
“aggs”: {
“download_num_range”: {
“range”: {
“field”: “download_num”,
“keyed”: true,
“ranges”: [
{
“from”:0,
“to”:100000,
“key”:“10000”
},
{
“from”:100000,
“to”:1000000,
“key”:“1000000”
},
{
“from”:1000000,
“to”:10000000,
“key”:“10000000”
},
{
“from”:10000000,
“to”:100000000,
“key”:“100000000”
},
{
“from”:100000000,
“to”:1000000000,
“key”:“1000000000”
}
]
}
}
}
}
#查询指定范围内的数据分布情况信息
POST /ry_market_2_ru/_search
{
“size”: 0,
“aggs”: {
“download_num_range”: {
“range”: {
“field”: “download_num”,
“ranges”: [
{
“from”:1000001,
“to”:2000000,
“key”:“2000000”
},
{
“from”:2000000,
“to”:3000000,
“key”:“3000000”
},
{
“from”:3000000,
“to”:4000000,
“key”:“4000000”
},
{
“from”:4000000,
“to”:5000000,
“key”:“5000000”
},
{
“from”:5000000,
“to”:6000000,
“key”:“6000000”
},
{
“from”:6000000,
“to”:7000000,
“key”:“7000000”
},
{
“from”:7000000,
“to”:8000000,
“key”:“8000000”
},
{
“from”:8000000,
“to”:9000000,
“key”:“9000000”
},
{
“from”:9000000,
“to”:10000000,
“key”:“10000000”
}
]
}
}
}
}
#查看数据分布规律
#查询指定范围内的数据分布情况信息
POST /ry_market_2_ru/_search
{
“size”: 0,
“aggs”: {
“download_num_range”: {
“range”: {
“field”: “download_num”,
“ranges”: [
{
“from”:1000001,
“to”:10000000,
“key”:“10000000”
}
]
}
}
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Elasticsearch是一个开源的实时分布式搜索和分析引擎,可以用于存储、搜索和分析各种类型的数据。在Elasticsearch中,聚合(Aggregation)是一种用于对数据进行分析和汇总的功能,可以根据一定的条件和计算逻辑对数据进行分组、过滤、统计等操作。 要实现替换功能,可以通过聚合数据来实现。首先,需要确定需要替换的字段和替换的值。然后,可以使用聚合操作来找到符合条件的文档并进行替换。 首先,需要使用聚合操作聚合数据并获取符合条件的文档列表。可以使用诸如terms、range、filter等聚合操作来定义条件。例如,使用terms聚合操作来根据某个字段的值进行分组,然后使用filter聚合操作来过滤符合条件的文档。 接下来,可以使用bucket_selector聚合操作来对符合条件的文档进行替换。bucket_selector聚合操作可以根据一定的条件来选择要保留或删除的桶。可以使用script脚本来定义替换的逻辑。例如,可以通过script脚本来修改文档字段的值,实现替换功能。 最后,可以根据需要进行数据的持久化操作。可以使用index操作将修改后的数据重新索引到Elasticsearch中,以便后续的搜索和分析操作。 总之,通过使用Elasticsearch聚合功能,可以方便地对数据进行分析和汇总,并实现替换功能。通过合理地定义聚合操作和使用适当的脚本,可以灵活地对数据进行处理,从而满足各种需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值