ElasticSearch 常用查询优化方式

设计阶段调优
1: 根据业务增量需求,采取基于日期模板创建索引,通过 roll over API 滚动索引;
2: 使用别名进行索引管理;
3: 每天凌晨定时对索引做 force_merge 操作,以释放空间;
4: 采取冷热分离机制,热数据存储到 SSD,提高检索效率;冷数据定期进行 shrink操作,以缩减存储;
5: 采取 curator 进行索引的生命周期管理;
6: 仅针对需要分词的字段,合理的设置分词器;
7: Mapping 阶段充分结合各个字段的属性,是否需要检索、是否需要存储等。

写入调优
1: 写入前副本数设置为 0;
2: 写入前关闭 refresh_interval 设置为-1,禁用刷新机制;
3: 写入过程中:采取 bulk 批量写入;
4: 写入后恢复副本数和刷新间隔;
5: 尽量使用自动生成的 id。

查询调优
1: 禁用 wildcard;
2: 禁用批量 terms(成百上千的场景);
3: 充分利用倒排索引机制,能 keyword 类型尽量 keyword;
4: 数据量大时候,可以先基于时间敲定索引再检索;
5: 设置合理的路由机制。

其他调优

部署调优,业务调优等。

相关推荐
字节跳动数据平台4 小时前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
得物技术5 小时前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
武子康7 小时前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑
大数据·后端·apache hive
武子康1 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天1 天前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
Elasticsearch2 天前
如何使用 Agent Builder 排查 Kubernetes Pod 重启和 OOMKilled 事件
elasticsearch
Elasticsearch3 天前
通用表达式语言 ( CEL ): CEL 输入如何改进 Elastic Agent 集成中的数据收集
elasticsearch
武子康3 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康4 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet