1. 索引-Index
- 索引是具有 某些类似特征的文档集合,比如:客户信息索引、产品索引、订单索引等。
- 索引由一个全小写的名称标识,对数据的添加、删除、更新、搜索等操作,均需指定索引名称。
- 可以把索引看出关系型数据库的库,索引的结构是为快速有效的全文索引准备的,特别是它不存储原始值。
-
elasticsearch 在后台把每个索引划分成多个分片,每分分片可以在集群中的不同服务器间迁移。
与关系型数据库的对比
2. 文档-Document
-
存在在ES中的主要实体叫做文档(Document),用关系型数据库类比,一个Document相当于数据库表中的一行记录。
-
文档可以由多个字段组成,每个字段可能多次出现在一个文档中,这样的字段叫做多值字段(multivalued)。
-
每个字段的类型,可以是文本、数值、日期等。字段类型也可以是复杂类型,一个字段包含其他子文档或者数组。
3. 映射-Mapping
所有文档写进索引之前都会先进行分析,如何将输入的文本分割为词条,哪些词条又会被过滤,这种行为叫做映射(mapping),一般由用户自定义规则。
4. 文档类型-type
- 在ES中,一个索引对象可以存储很多不同用途的对象。例如,一个博客应用程序可以保存文章和评论。
- 每个文档可以有不同的结构。
- 不同的文档类型不能为相同的属性设置不同的类型。例如,在同一索引中的所有文档类型中,一个叫title的字段必须具有相同的类型。