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
相關文章
相關標籤/搜索