索引
- 索引(index)是ElasticSearch对逻辑数据的逻辑存储,所以它可以分为更小的部分
- **可以把索引看成关系型数据库的表
- ElasticSearch可以把索引存放在一台机器或者分散在多台服务器上,每个索引有一或多个分片(shard),每个分片可以有多个副本(replica)
文档
- 存储在ElasticSearch中的主要实体叫做文档(document),用关系型数据库来类比的话,一个文档相当于数据库表中的一行记录
- ElasticSearch和mongoDB中的文档类似,都可以有不同的结构,但ElasticSearch的文档中,相同字段必须有相同类型
- 文档由多个字段组成,每个字段可能多次出现在一个文档里.这样的字段叫多值字段(multivalued)
- 每个字段的类型,可以是文本,数值,日期等,字段类型也可以是复杂类型,一个字段包含其他子文档或者数组
映射
- 所有文档写进索引之前都会进行分析,如何将输入的文本分割为词条,哪些词又会被过滤,这种行为叫做映射(mapping)一般由用户自己定义规则,映射就是对文档中的字段规范类型
文档类型
- 在ElasticSearch中,一个索引对象可以存储很多不同用途的对象,例如一个博客应用程序可以保存文章和评论
- 每个文档可以有不同的结构
- 不同的文档类型不能为相同的属性设置不同的类型,例如在同一个索引中的所有文档类型中,一个叫title的字段必须具有相同的类型比如都设置成text类型.