ElasticSearch 按照一定规则分割index
ElasticSearch随着数据越来越大,查询时间也越来越慢,把所有数据放入同一个索引将不是一个好的方法。
所以优化时,将其按照一定规则重新reindex将提高不少效率
按照某字段的日期
比如将index_name
重新索引为index_name-yyyy-MM-dd
根据字段created_at
,原日期格式是"yyyy-MM-dd'T'HH:mm:ss
,计算得出yyyy-MM-dd
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();" } }
相关推荐
newbornzhao 2020-09-14
做对一件事很重要 2020-09-07
renjinlong 2020-09-03
明瞳 2020-08-19
李玉志 2020-08-19
mengyue 2020-08-07
molong0 2020-08-06
AFei00 2020-08-03
molong0 2020-08-03
wenwentana 2020-08-03
YYDU 2020-08-03
另外一部分,则需要先做聚类、分类处理,将聚合出的分类结果存入ES集群的聚类索引中。数据处理层的聚合结果存入ES中的指定索引,同时将每个聚合主题相关的数据存入每个document下面的某个field下。
sifeimeng 2020-08-03
心丨悦 2020-08-03
liangwenrong 2020-07-31
sifeimeng 2020-08-01
mengyue 2020-07-30
tigercn 2020-07-29
IceStreamLab 2020-07-29