有个人长的像洋葱,走着走着就哭了…….

es查询时index使用通配符如何更高效的匹配index?

Elasticsearch | 作者 shjdwxy | 发布于2018年03月04日 | 阅读数:12627


使用es存储日志,index按天切割,index pattern为appname_xxxx.xx.xx,在查询时index设置为appname_*, 并且指定了时间范围。
有个问题请教下:
做上述查询时,
(1)es会基于所有匹配到的index做查询吗? 
(2)如果是基于所有满足appname_*做查询,有没有更高效的方式,将index限定到时间范围内的index?

谢谢
 
已邀请:

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

赞同来自:

1es基于你搜索的es做匹配;
2你设计的时候可索引名称后加上日期,指定日期检索,提高效率

xiaoyanghapi - Elasticsearch 爱好者

赞同来自:

  • 如果你设置的是appname_* ,肯定是并发查询所有满足条件的索引
  • 如何提高性能呢?[list][*]首先你如果有时间周期的查询,可以将时间周期通过自己的程序转换为固定的索引,然后通过多索引appname_1,appname_2,appname_3/_search的方式查询
  • 如果是根据条件的查询,得看你的需求,是否只需要查询当天的数据,如果是可以查询当天的数据,可以通过别名处理,把自己想查的索引设置下统一别名(第二天时把前一天索引别名去掉),如果不是只查询当天的数据,也可以通过别名统一定义下自己的查询规则,如果查询规则不定,那肯定是查询全部索引

[/*]
[/list]

要回复问题请先登录注册