es index 改名_ElasticSearch 按照一定规则分割index

ElasticSearch随着数据越来越大,查询时间也越来越慢,把所有数据放入同一个索引将不是一个好的方法。

所以优化时,将其按照一定规则重新reindex将提高不少效率

按照某字段的日期

比如将index_name重新索引为index_name-yyyy-MM-dd

根据字段created_at,原日期格式是"yyyy-MM-dd'T'HH:mm:ss,计算得出yyyy-MM-dd

inline中是 是类Java代码, 可以复制出来后自己编写

POST _reindex?wait_for_completion=false

{

"source": {

"index": "index_name"

},

"dest": {

"index": "index_name-"

},

"script": {

"inline": "def sf = new SimpleDateFormat(\"yyyy-MM-dd'T'HH:mm:ss\");def o = new SimpleDateFormat(\"yyyy-MM-dd\");def dt = sf.parse(ctx._source.created_at);ctx._index='index_name-' + o.format(dt);"

}

}

按照ID范围

比如根据ID / 10000000取整,也就是1千万数据放一个index

POST _reindex?wait_for_completion=false

{

"source": {

"index": "index_name"

},

"dest": {

"index": "index_name-"

},

"script": {

"inline": "ctx._index='index_name-' + Long.valueOf(ctx._source.id / 10000000).toString();"

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值