8. 検索処理
• 二段階の処理
(1) メモリ上のインデクスを二分探索
(2) ディスク上のインデクスを線形探索
In-memory index
apple book cookie
・・・ ・・・
1025 1997 3005
・・・ apple Pos Pos Pos ・・・ asus Pos Pos ・・・ book Pos Pos ・・・
On-disk index
8
9. 検索処理の例: asus
(1) 二分探索
In-memory index
apple book cookie
・・・ ・・・
1025 1997 3005
・・・ apple Pos Pos Pos ・・・ asus Pos Pos ・・・ book Pos Pos ・・・
On-disk index (2) 線形探索 発見!
9
10. 補足: 検索範囲
In-memory index
apple book cookie
・・・ ・・・
1025 1997 3005
・・・ apple Pos Pos Pos ・・・ asus Pos Pos ・・・ book Pos Pos ・・・
On-disk index
In-memory indexのアイテム間だけ探索する
10
21. 明日のために
• Dictionary Interleaving 形式のインデクスは辞
書を明示的に持たないため,複数インデクス
をマージしやすい
– Merge-based index construction に適した形式
• 山田さんの記事[4]を参考
• 複数インデクスを入力して,マージ結果を出
力するような使い方ができる検索エンジンが
できるんじゃないかな
21
22. References
• [1] Stefan Buttcher, Charles L. A. Clarke and Gordon V. Cormack,
“Information Retrieval”, The MIT Press, 2010.
• [2] Stefan Buttcher, “Multi-User File System Search”, Ph.D thesis,
University of Waterloo, Canada, 2007.
– 著者のひとりButtcher氏の博士論文.Interleaving Dictionaryの初出?
– 4.4.2 Interleaving Posting Lists and Dictionary Entries
• [3] Jeffrey Dean, “Challenges in Building Large-Scale Information
Retrieval Systems”, WSDM ‘09 Tutorial, 2009.
– フラットな形式のインデクスについてはid:llameradaさんの翻訳記事が参
考になる
• http://d.hatena.ne.jp/llamerada/20090317/1237302640
• [4] 山田浩之. 検索エンジンはいかにして動くのか?
– 第10回 動的な索引構築
• http://gihyo.jp/dev/serial/01/search-engine/0010
22