elasticsearch学习笔记(三十一)——Elasticsearch doc value正排索引

在咱们搜索的时候,要依靠倒排索引,可是当咱们排序的时候,须要依靠正排索引。经过倒排索引锁定文档document以后,看到每一个document的每一个field,而后进行排序,所谓的正排索引就是doc values。

对于ES而言,在创建索引的时候,一方面会创建倒排索引,以供搜索使用;一方面会创建正排索引,也就是doc values,以供排序,聚合,过滤等使用。

doc values是被保存在磁盘上的,此时若是内存足够,OS操做系统会自动将其缓存在内存中,性能仍是会很高的,若是内存不够用,OS操做系统会将其写入磁盘。

下面举个例子描述正排索引和倒排索引
假设某个index有两个doc缓存

doc1 : hello world you and me
doc2 : hi world, how are you

创建倒排索引性能

word    doc1    doc2
hello    *
world    *        *
you      *        *
and      *
me       *
hi                *
how               *
are               *

假设某个index有两个doc操作系统

doc1: {"name": "jack", "age": 27}
doc2: {"name": "tom", "age": 30}

创建正排索引code

document    name    age
doc1        jack    27
doc2        tom     30
相关文章
相关标签/搜索