前言
1:理解query到正排链的查询过程
2:理解docid到取出正排值的过程
正文:
1: 举例说明从query到倒排链的过程
query= title=爱
将爱进行Unicode编码,成 ep 01xx
使用词典文件(.tip,在内存),FST 路径搜索,匹配前缀,找到后缀地址,加载后缀块
后缀块中,有倒排索引指针,找到 “爱” 倒排链 , docids
如果多个链的话,需要进行倒排链求交,使用skiplist
2: 获取正排信息
拿到最终的docid 集合后, 需要进行排序和聚合,则需要取正排
通过二分法(skiplist) 找到 DocValues,取出指定列的正排信息