是时候用 ES 拯救发际线啦

ES检索优化问题

Elasticsearch | 作者 elasticStack | 发布于2018年12月05日 | 阅读数:3634

查询的索引是car_*, 但是我们的索引是按照天建的, 也就是car_2018_01_01~car_2018_12_05,
 因为要保留1年的数据, 那么一个最简单的查询(最近一小时), 如果我指定car_*索引组, 那么es会不会从
 car_2018_01_01~car_2018_12_05的索引全部过一遍, 并且每个index下有6个shard, 这样查询效果就很不理想
已邀请:

rochy - rochy_he

赞同来自: elasticStack

应该是都要过一遍的;你可以将这个条件加到 filter 里面,速度会快一些

God_lockin

赞同来自: elasticStack

换个思路呗,你既然知道搜索的时间(比如最近1小时),那就直接car_2018_11_*或者其他的更精确的索引不好么?
 
可能前端丢过来的是index: car_*, dsl: xxx,但是给个不一样的接口重新处理一下多好

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自: elasticStack

先根据时间定位索引,比如:20181206,找12月6号的索引,然后再查询。
相当于物理上缩小了查询范围。
前提:严格意义上的数据分割,以零界点0点为界限。

要回复问题请先登录注册