前言
根据文档id定位到某个字段的正排信息,常常用于需要根据某个字段排序,分类计算,这个必须使用Doc values
正文
1: 在ES中原始数据是以行式存储的,也就是文档的所有字段都会连续的存储在物理空间上。
这样势必会占用非常多的空间,所以一般都是压缩存储的!
正排信息不是来自于原始文档中。存储原始文档的文件 如下
查看原始文档的过程!
第一步二分查找block,定位属于哪个block。
第二步就是根据从block里根据每个chunk的起始文档号,找到属于哪个chunk和chunk位置。
第三步就是去加载fdt的chunk,找到文档。
2: docvalues结构 @hxx 列式存储
在建倒排的时候,docvalues就会同时建好
正排的结构如下: