这周刚接触 Elasticsearch 这个搜索引擎 对搜索原理稍稍感兴趣 便顺手翻了 信息检索导引 这本书,写个笔记记录下
布尔检索的基本概念:
建立文档和词项 之间的 倒序索引表 (如果把词项看成图的定点,文档看成图的边的话,就是一个关键矩阵了)
存储细节:
因为产生的倒序索引是稀疏矩阵 所以可以进行压缩以节省空间,方法一:使用链表存储词项中对应的文档信息
词项搜索结果合并:
因为词项对应的文档信息是有序的,所以
对于 and 操作的合并 就是两个有序数组的交集 or 就是并集
对于 and 操作 可以先合并结果集的在合并大的,可以提升性能