节点
ES节点分master和data节点.为避免脑裂,应设置discovery.zen.minimum_master_nodes参数,值为集群中master节点数量/2 + 1,默认1.
index
合理设置索引分片数量,单个分片的存储doc数为2,147,483,519,建议小于30G,索引分片的数量依据节点数量,单个节点上单个索引的分片数量小于3,小规模集群分片数量小于等于数据节点数量最佳.
ES每个查询在每个分片的单个线程中执行再聚合,如果指定routing会提升查询效率.
type
5.x版本支持多个type6.x版本仅支持一个type,可以自定义7.x版本所有type默认为_doc,也可以自定义但不推荐
id
- 自动生成的是20位
GUID - 支持手动生成
Mapping字段
字段尽量少用nested或parent/child,非常影响查询效率.尽量采用宽表设计.如果一定要使用nested fields,保证nested fields字段不能过多,目前ES默认限制是50。index.mapping.nested_fields.limit: 50