今日の検索エンジンに関する勉強ノート
3/7/2011 勉強ノート
集合知プログラミング
ページ内の単語を探し出す。Pg. 66
内容ベースの順に順位付 Pg.71
「ドキュメントの主題はドキュメントの最初の部分に出現する可能性が高い。」Pg.71
「PageRankの算出は時間がかかるものであり、クエリによって変わるようなものでもないため、テーブルに保存されているすべてのURLについてのPageRankを事前に計算する関数を作ると良い。」Pg.79
「検索の対象となる文書ファイルおよび検索文字列の「特徴」をビット列表現したもの(シグナチャ)」
「シグナチャは文書ファイルまたは検索文字列に含まれる単語から計算します。」
「ファイルまたは検索文字列に含まれる各単語に対しハッシュを計算し、その値で示されるビット位置だけを"1"としたビット列をその単語のシグナチャとし、全単語のシグナチャに包含されるときファイルが文字列にマッチしたと判断します。」
Googleを支える技術
「まず最初の仕事は、テキストを単語に分解し、それを「wordID」と言う数値に変換することです。
初代Googleでは、この時に用いられるインデックスを「Lexicon」(用語集)と呼んでいます。」Pg. 26
「初代Googleでは、PageRankやアンカーテキストによってランキングを行うことはすでに説明しました。ここで必要となるのが「リンク情報のインデックス」です」
Pg.29
「ここで登場するのは、構造解析の時に作ったインデックスであるURLListと、そして新しく登場するインデックス、「Links」です。」
Pg.29
「Googleが取り組んだのは、何よりも、ランキングの品質を上げるために、事前にランキングするという路線は捨てて、「検索サーバにその都度ランキングを行わせる」という方法です。これは検索サーバーに大きな負担を強いる行為ですが、Googleはその負担を受け入れることで、「高度なランキングを実現する」道を選びました。この点が、それまでの効率重視の検索エンジンとは一線を画すところです。」
Pg.32