ES调优手段
1.设置dynamic为strice(严格模式,put任何新字段都会提示异常),避免ES集群因新增字段导致性能下降。
因此常见的处理方案都是通过建立别名prod_product_xx索引,上线前先将新索引数据初始化新数据,然后在修改索引别名
2._source禁用后可以进行搜索,但无法返回字段内容。
3.index决定该字段是否加入倒排索引(默认为true),开启后是无法对字段内容进行分词的,也就无法进行分词搜索。
4.enabled类似index与doc_value的总开关(默认为true),会存储在_source。但index和doc_value不会被存储。所以关闭后则不可以进行搜索和排序,但可以拿到原值。
5.doc_value是一个列式存储,所有很适合排序。
6.fielddata与doc_value类似,但会加载到内存进行排序。_id是默认开启的,这里要慎用。
写入流程优化
bulk方式写入相比单条写入效率更高,网络IO也更好。
_ID在分片级别是唯一的,并不是在集群唯一
文档落盘过程:
文档写入时,会先写Index buffer然后记录translog到OS Cache
文档从每秒刷新到OS Cache中生龙segment,并定时将translog落盘
OS Cache中的segment会定期被刑新到磁盘上,同时删除translog
架构设计:
读写分离集群
自定义_id,避免读取原文档的会多一次IO行为
标签:总结,doc,写入,value,索引,调优,文档,ES From: https://www.cnblogs.com/jichenghui/p/18079230