快捷搜索:  汽车  科技

elasticsearch 创建索引规则:Elasticsearch倒排索引以及数据结构

elasticsearch 创建索引规则:Elasticsearch倒排索引以及数据结构sex倒排索引age倒排索引name倒排索引

Elasticsearch是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎Lucene 基础上的搜索引擎。

ES倒排索引

什么是倒排索引: 倒排索引也叫反向索引,通俗来讲正向索引是通过key找value,反向索引则是通过value找key。

假设有3条文档数据:

elasticsearch 创建索引规则:Elasticsearch倒排索引以及数据结构(1)


那么Elasticsearch建立的索引如下:

elasticsearch 创建索引规则:Elasticsearch倒排索引以及数据结构(2)

age倒排索引



elasticsearch 创建索引规则:Elasticsearch倒排索引以及数据结构(3)

name倒排索引



elasticsearch 创建索引规则:Elasticsearch倒排索引以及数据结构(4)

sex倒排索引

ES数据结构

Term Dictionary:
将所有的term排个序,二分法查找term,就像通过字典查找一样,这就是Term Dictionary

Term Index:
就像字典里的索引页一样,A开头的有哪些term,分别在哪页,可以理解term index是一棵树

elasticsearch 创建索引规则:Elasticsearch倒排索引以及数据结构(5)

Term Index的B-Tree结构

最后就会形成这个牛逼的数据结构,通过Term Index找对对应的Term Dictionary,在找到具体的文档ID

elasticsearch 创建索引规则:Elasticsearch倒排索引以及数据结构(6)

猜您喜欢: