节点
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
版本支持多个type
6.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