【布尔查询的处理】
1、建立好倒排索引后如何处理查询呢?看下例:
2、对于And、Or、Not的操作,很容易想到都可以在O(N1+N2)内解决,即线性(N1、N2为文档频率,即倒排索引表长度)。
3、查询优化(Query Optimization),除了AndOrNot的算法设计外,组织与同等转换查询过程对查询的效率也有很大的帮助。一个启发式的想法是:
按照词项的文档频率(也就是倒排记录表的长度)从小到大依次进行处理,如果我们先合并两 个最短的倒排记录表,那么所有中间结果的大小都不会超过最短的倒排记录表 2,这样处理所 需要的工作量很可能最少。