シルバーウィークも終わりを迎えようとしております・・
私はいい歳をしてポケモンばっかりやっておりました。
ここ数日で、朝晩が一気に冷え込んでまいりましたねー。
少し前までクーラーor扇風機だったのに、
最近は掛け布団にくるまって寝る始末。
風邪をひきやすい時期かもしれません。気をつけなければ。
今回は、
以前から予告をしておいて放置していました
「検索サイトの仕組み」関連の話です。
まず調べてみて分かったのが、
検索サイトって、それぞれ検索方法が異なるみたいなのです。
・ディレクトリ型 : 人の手で情報を収集、分類する。
例: yahoo!
・ロボット型 : プログラムによって自動的に収集、分類する。
例: Google goo
・混在型 : プログラムと人の手による収集
例: excite lycos infoseek
人かロボットかという違いでしたね。
人の手だと、処理に時間がかかりますが、分かりやすく解説してくれます。
ロボットだと、検索件数(データベース登録数)は多いけど、検索結果が分かりにくいかも。
探すページの内容が具体的に分からなければディレクトリ(人の手)型。
固有名詞など、特定化できる内容が分かっていればロボット(プログラム)型。
このように、検索サイトを使い分けることも可能って訳ですね。
検索サイトによって表示順が異なることにも納得できました。
さて!
プログラマーとして気になるのは、「ロボット型の検索内容」ですよね。
ロボット型の検索エンジンでは、大きく3つの機能が動作しているようです。
・Webサーバー
↑
クローラー ←(情報ゲット)
↓
・検索エンジン
↑
インデクサ ←(情報分類)
↓
・検索エンジン(検索結果データベース)
↑
クエリサーバー ←(情報表示)
↓
・検索ユーザー
クローラーという機能で、
世界中のWebサイトから検索エンジンへ、情報をかき集めてきます。
インデクサという機能で、
かき集めてきた内容を解析します。
ここでキーワードやテーマを分析して、自身のデータベースに保存します。
クエリサーバーという機能で、
解析結果を検索結果ページとして作成、表示します。
そもそも、まず「クローラー」でホームページの情報が取ってこられなければ、
検索サイトに表示されることもないってことですね。
じゃあ、どうすればいいの?という話ですが、
「クローラー」の処理をもう少し詳しく書きます。
クローラーは、
あるページで、「A HREF="~"」とリンクされているURLを見つけると、
そのURLに対して、ステータスコードを要求します。
↑「A HREF ~」は、ホームページに使われているHTMLという言語で、
このページでの参考文献などに使われております、リンクを表現する記述です。
↑ステータスコードは、簡単に言いますと、
ページリンク対象があるのか、移動したのか、ないのかを示すものです。
ステータスコードが「200:OK」ならばデータベースに保存し、
ステータスコードが「404:Not Found」ならばデータベースより削除しようとします。
(他にも多くのステータスコードや、クローラーの処理はあります)
ちょっと難しい話かもしれませんでしたが、
どこかのホームページで、自分のホームページへのリンクが貼られており、
そのリンクが正しく機能しているならば、
ロボット型の検索サイトのどこかにはヒットするってことでしょうかね?
今回は、検索サイトの処理について、
特に、ロボット型の処理の内容について触れました。
どのようにホームページの情報を集めるのかをご紹介しましたが、
では、どうすれば検索上位に来るの?という内容については、
また次回以降の話にしたいと思います。
今回は、参考文献2つ目の内容をメインに私なりの解釈を交えましたが、
とても参考になりましたので、こちらは一見してみるといいかと思います。
シルバーウィークオヤスミ分も含め、少し長めに書いてみました
●参考文献
検索サイトの仕組み
http://www.toba-cmt.ac.jp/center/gijyutu/kensaku.htm
Web担当者Forum
http://web-tan.forum.impressrd.jp/e/2009/03/27/4952