Google で検索を行った結果、どこかのサイト内の検索結果ページが表示される場合があります。
添付の画像をご参照ください。
上から3番目に表示されているクリック済みとなっているページの URL は、
b.hatena.ne.jp/search/tag?q=アノニマスダイアリー
となっており、はてなブックマーク内で、"アノニマスダイアリー"という文字列で検索した結果のページがヒットしています。
このような、あるサイトの検索結果(動的ページ)が表示されるということは、
どのような過程で実現しているのでしょうか。
1. 誰かが、またはサイト内で、その URL にリンクをしており、そこを検索エンジンのクローラーが通って実現している
2. サイト運営者か誰かが、何らかの手段(API やサイトマップ登録)で検索エンジンにページの存在を通知している
3. その他
1. と 2. の違いは、検索エンジンサービスが主体か、サイト運営者が主体か、という意図です。
ご助言をお願い致します。
Google の検索結果に動的ページが含まれるのには、1. の静的ページ経由のものもあるでしょうが、それだけでは説明がつかないようなものもあります。
これは「3. その他」にあたり、「Google の検索エンジンが検索結果(動的ページ)を収集するようにプログラミングされている」という事だと思われます。
動的ページは、通常の検索エンジンでは収集できないという事から、Deep Web(深層Web)と呼ばれます。
しかし、Google はこの Deep Web からも動的ページを拾ってインデックス化しているようです。
2008年と少し古い文献ですが、Google の技術者が発表した "Google’s DeepWeb"
http://www.cs.washington.edu/homes/alon/files/vldb08deepweb.pdf
によれば、この時点で Google は、世界50ヶ国語以上の700以上のドメインにおける、のべ数百万の検索フォームから、動的ページを収集しています。
この手法は、"surfacing"(日本語だと「表層化」でしょうか)と呼ばれています。
The results or our surfacing are currently enjoyed by millions of users per day world-wide, and cover content in over 700 domains, over 50 languages, and from several million forms.
(PDF 12ページ、CONCLUSION より)
技術的な詳細の解説は私の力量を超えていますが、例えばフォームに入力するキーワードのセットは、中核になるものをいくつか(言語ごとに)決めておき、検索結果として帰ってきたページからさらにキーワードを収集してキーワードセットの数を増やしていく、という事をしているようです。
一つのフォームにキーワードを500個くらい設定しています。
エラーページが帰ってきたら、キーワードのセットを組み替えるわけです。
また、一つの検索フォームに複数のキーワードを入力した場合、というのも考慮されています。
得られた動的ページを Google の検索結果ページに表示して、ユーザーがそのリンクをクリックしたらランクを上げる、というおなじみの手法も併用しているようです。
検索フォームからの動的ページの収集は全自動化されていて、Google の検索エンジン自体に組み込まれている、との事です。
以上、お役に立てることを祈りつつ。
はてなははてなキーワードなど、うまいことネットワークを張り巡らせる仕組みがあり、検索エンジンに引っかかりやすい。アクセス数もあるのでクロール頻度も高い。
とか。
検索結果に http://b.hatena.ne.jp/suzaku-s/20071031#bookmark-6344240 が表示されるのではなく、http://b.hatena.ne.jp/search/tag?q=%E3%82%A2%E3%83%8E%E3%83%8B%E3%83%9E%E3%82%B9%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AA%E3%83%BC が表示されるのはなぜか~という質問意図でしたかね…。
検索エンジン内で最適化しているのでは。としか答えられないような。
ご回答をいただきまして、ありがとうございます。
> 検索結果に(URL、略)が表示されるのではなく、
>(URL、略)が表示されるのはなぜか~という質問意図でしたかね…。
はい、こちらの内容での質問を意図しております。
Google の検索結果に動的ページが含まれるのには、1. の静的ページ経由のものもあるでしょうが、それだけでは説明がつかないようなものもあります。
これは「3. その他」にあたり、「Google の検索エンジンが検索結果(動的ページ)を収集するようにプログラミングされている」という事だと思われます。
動的ページは、通常の検索エンジンでは収集できないという事から、Deep Web(深層Web)と呼ばれます。
しかし、Google はこの Deep Web からも動的ページを拾ってインデックス化しているようです。
2008年と少し古い文献ですが、Google の技術者が発表した "Google’s DeepWeb"
http://www.cs.washington.edu/homes/alon/files/vldb08deepweb.pdf
によれば、この時点で Google は、世界50ヶ国語以上の700以上のドメインにおける、のべ数百万の検索フォームから、動的ページを収集しています。
この手法は、"surfacing"(日本語だと「表層化」でしょうか)と呼ばれています。
The results or our surfacing are currently enjoyed by millions of users per day world-wide, and cover content in over 700 domains, over 50 languages, and from several million forms.
(PDF 12ページ、CONCLUSION より)
技術的な詳細の解説は私の力量を超えていますが、例えばフォームに入力するキーワードのセットは、中核になるものをいくつか(言語ごとに)決めておき、検索結果として帰ってきたページからさらにキーワードを収集してキーワードセットの数を増やしていく、という事をしているようです。
一つのフォームにキーワードを500個くらい設定しています。
エラーページが帰ってきたら、キーワードのセットを組み替えるわけです。
また、一つの検索フォームに複数のキーワードを入力した場合、というのも考慮されています。
得られた動的ページを Google の検索結果ページに表示して、ユーザーがそのリンクをクリックしたらランクを上げる、というおなじみの手法も併用しているようです。
検索フォームからの動的ページの収集は全自動化されていて、Google の検索エンジン自体に組み込まれている、との事です。
以上、お役に立てることを祈りつつ。
大変丁寧にご回答をいただきまして、心よりお礼を申し上げます。
論文も読ませていただきました。
私の質問内容の延長線上には、この技術が存在しているような気がしました。
Deep Web という呼び方も、初めて知り、大変勉強になりました。
的確なご回答、分かりやすい解説をしていただきまして、ありがとうございました。
大変丁寧にご回答をいただきまして、心よりお礼を申し上げます。
2012/07/05 09:36:30論文も読ませていただきました。
私の質問内容の延長線上には、この技術が存在しているような気がしました。
Deep Web という呼び方も、初めて知り、大変勉強になりました。
的確なご回答、分かりやすい解説をしていただきまして、ありがとうございました。