现状:ES文本检索极慢,设置超时时间为10s,也会频频timeout
集群数据:当前ES集群保存近六个月的数据,每天的数据增量为1.8亿条,每条数据0.5k左右
集群结构设计:集群按照月份来分索引,共有6个索引,每个索引的分片数为200,副本数为2。
查询dsl:就是简单的match一个fields
请教各位大佬,查询耗时高是由于数据量太大?还是es结构设计不合理?还是查询语句有问题啊?
集群数据:当前ES集群保存近六个月的数据,每天的数据增量为1.8亿条,每条数据0.5k左右
集群结构设计:集群按照月份来分索引,共有6个索引,每个索引的分片数为200,副本数为2。
查询dsl:就是简单的match一个fields
请教各位大佬,查询耗时高是由于数据量太大?还是es结构设计不合理?还是查询语句有问题啊?
2 个回复
vienous
赞同来自:
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自:
2,结合您的增量数据 每个分片都有很大的数据量 注意单分片的数据量:2的32次幂减去1
注意:主分片数的多少限制,没有明确标准。有一种说法:节点数的:1到3倍。(忘记来源了,不对的地方大佬们帮指正)
3,建议:扩大集群规模吧
4,慢查询:加profile:true 定位下原因
5,慢查询推荐:https://mp.weixin.qq.com/s/Fw4RW9H_qLIP4MeqOZ_FMw