码迷,mamicode.com
首页 > 其他好文 > 详细

es倒排索引和正排索引

时间:2018-03-10 00:09:10      阅读:3210      评论:0      收藏:0      [点我收藏+]

标签:就是   性能   bsp   and   内存不足   values   缓存   搜索   AC   

搜索的时候,要依靠倒排索引;排序的时候,需要依靠正排索引,看到每个document的每个field,然后进行排序,所谓的正排索引,其实就是doc values。
在建立索引的时候,一方面会建立倒排索引,以供搜索用;一方面会建立正排索引,也就是doc values,以供排序,聚合,过滤等操作使用。
doc values是被保存在磁盘上的,此时如果内存足够,os会自动将其缓存在内存中,性能还是会很高;如果内存不足够,os会将其写入磁盘上。

倒排索引举例:
doc1: hello world you and me
doc2: hi, world, how are you

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

hello you --> hello, you

hello --> doc1
you --> doc1,doc2

正排索引举例:
doc1: hello world you and me
doc2: hi, world, how are you

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

document name age
doc1 jack 27
doc2 tom 30

es倒排索引和正排索引

标签:就是   性能   bsp   and   内存不足   values   缓存   搜索   AC   

原文地址:https://www.cnblogs.com/qinjf/p/8536497.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!