常见术语
文档 Document
用户存储在es中的数据文档,相当于mysql数据表中的一行数据
索引 index
由具有相同字段的文档列表组成,相当于mysql数据库中的表,table
节点 Node
一个elasticsearch 的运行实例,是集群的构成单元。
集群 Cluster
由一个或多个节点组成,对外提供服务
Document
Json Object,有字段(field)组成,常见数据类型如下:
字符串:text,keyword
数值型:long,integer,short,byte,double,float,scaled_float
布尔:Boolean
日期:date
二进制:binary
范围类型:integer_range,float_range,long_range,double_range,date_range
每个文档都有一个唯一的ID标识
自行指定
es 自动生成
元数据(MetaData),用于标注文档相关信息
_index:文档所在索引名
_type:文档所在的类型名
_id:文档唯一id
_uid:组合id,由_type和_id组成(6.x _type不再起作用,同_id一样)
_source:文档的原始Json数据,可以从这里获取每个字段的内容
_all:整合所有字段内容到该字段,默认禁用
正排索引
文档ID到文档内容,单词的关联关系
倒排索引
单词到文档ID的关联关系
倒排索引-查询流程
通过倒排索引获得"搜索引擎"对应的文档Id有1和3
通过正排索引查询1和3的完整内容
返回用户最终结果
倒排索引-单词词典
单词词典(Term Dictionary)是倒排索引的重要组成
记录所有文档的单词,一般都比较大
记录单词倒排列表的关联信息
倒排索引-倒排列表
倒排列表( Posti