Lucene 合併倒排表演算法之並集
阿新 • • 發佈:2018-12-22
上一篇中講到lucene在合併倒排表時候的交集演算法操作.本文繼續對倒排表求並集的演算法:
lucene處理交集時採用的資料結構是一個倒排表的陣列,陣列的元素是一個個的迭代器來表現每個倒排表.
而在求並集的時候則是採用了佇列資料結構.在DisjunctionSumScorer類的建構函式中對佇列進行了初始化操作:
lucene在查詢的時候,BooleanScorer2呼叫nextDoc()會呼叫DisjunctionSumScorer類中一個非常重要的方法:advanceAfterCurrent()
當nextDoc()到最後一個doc時,說明並集操作結束
注:因為差集相對簡單,不再累述