Elasticsearch教程(33) ES优化总结

这里暂不考虑ES的集群优化,一般在公司里有专门的运维去维护和优化ES集群,而且每个客户现场的硬件条件各不相同,不好强求客户去升级他的硬件。

这里只是从开发和设计人员的角度去看如何尽量提高ES的性能,避免掉进常见的坑。

优化设计

● 要理解mapping的字段属性,知道如何选择text还是keyword还是int,枚举字段用keyword
● 不要对text类型排序聚合,不要设置fielddata=true,应使用复合字段,ES6后指定预排序
● 知道字段是否要索引,index属性,例如备注remark
● 无需聚合或排序的字段, 需要把doc_values设为false, 节约磁盘空间
● 应用代码中使用索引的别名,方便修改mapping的字段类型
● 采取冷热分离机制,热数据存储到 SSD,冷数据定期压缩
● 数据预热,自己主动访问刷到filesystem cache中
● 数据量大,动态索引,index_时间
● 扩大内存, filesystem cache越大越好,减少走磁盘
● 少量数据需要检索,es + hbase架构
● 避免深分页, 用Scroll 或是 Search After

写入优化

● 尽量使用自动生成的 id
● 大批量写入,采取批量写入
● 大批量写入,副本数设置为0,以后再修改

查询优化

● 禁用wildcard
● 禁用terms查询上千数据
● 如果不要评分,使用filter代替query
● 设置合理的路由机制
● 聚合时:collect_mode深度优先/广度优先的选择

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瑟 王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值