索引(Index) 相当于关系数据库中的database,是一个独立的Lucene实例。
类型(Type) 相当于关系数据库中的table,一个索引中可以有多个type。
文档(Document) 相当于关系数据中的row,文档由字段组成,是Json对象。
字段(Field) 相当于关系数据中的column,每个字段都有相应的类型。
映射(Mapping) 相当于关系数据中的schema,一个type对应一个maping。虽然elasticsearch可以根据字段值自动检测字段类型,但大多数时候不是我们想要的类型,所以我们需要配置映射。
集群(Cluster) 一个集群由多个Elasticsearch节点组成,该集群具有相同的clustername,由Master组成,Client,由Datanode角色组成。
节点(Node) 单个Elasticsearch服务实例称为节点。
分片(Shard) 分片有主分片和副分片,一个索引可以切成多个分片,分布在不同的节点上。
单个shard的数据量小于<2000w可以保证简单where条件查询<1s;索引的分片原理是在保证一定查询响应速度的情况下,尽量减少分片数量;shard的数量略小于Node节点,可以获得最佳的写入和读取平衡,CPU可以控制在60%-70%左右。
副本(Replic) 为了提高查询的吞吐量和数据安全性,可以使用分片复制功能,这是对主分片的精确复制。
2 Elasticsearch查询语法
普通查询 查询term 查询terms match查询 multi_match查询 query_string查询 field查询 ids查询 prefix查询 fuzzy查询 match_all查询 wildcard查询查询 range查询
过滤查询 exists过滤器 mising过滤器 script过滤器 type过滤器 limit过滤器 ids过滤器 bool、and、or和not过滤器
复合查询 agg聚合
数据排序 sort排序
3 更多参考资料
2、Elasticsearch: 权威指南 » 基础入门 https://www.elastic.co/guide/cn/elasticsearch/guide/current/getting-started.html
3、Elasticsearch Reference [5.6] » Getting Started » Installation https://www.elastic.co/guide/en/elasticsearch/reference/5.6/_installation.html