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
建立倒排索引
worddoc1doc2 hello* world** you** and* me* hi* how* are*
假設某個index有兩個doc
doc1: {"name": "jack", "age": 27} doc2: {"name": "tom", "age": 30}
建立正排索引
documentnameage doc1jack27 doc2tom30