Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的。
对比关系:
索引 indices--------------------------------Databases 数据库
类型 type-----------------------------Table 数据表
文档 Document-----------------Row 行
字段 Field------------------Columns 列
详细说明:
概念 | 说明 |
---|---|
索引库 indices | indices是index的复数,代表许多的索引 |
类型 type | 类型是模拟mysql中的table概念,一个索引库下可以有不同类型的索引,比如商品索引,订单索引,其数据格式不同。不过这会导致索引库混乱,因此未来版本中会移除这个概念 |
文档document | 存入索引库原始的数据。比如每一条商品信息,就是一个文档 |
字段 field | 文档中的属性 |
映射配置mappings | 字段的数据类型、属性、是否索引、是否存储等特性 |
是不是与Lucene和solr中的概念类似。
另外,在SolrCloud中,有一些集群相关的概念,在Elasticsearch也有类似的:
- 索引库(Indices,index的复数):逻辑上的完整索引 collection1
- 分片(shard):数据拆分后的各个部分
- 副本(replica):每个分片的复制
要注意的是:Elasticsearch本身就是分布式的,因此即便你只有一个节点,Elasticsearch默认也会对你的数据进行分片和副本操作,当你向集群添加新数据时,数据也会在新加入的节点中进行平衡。