- ベストアンサー
yahoo gooなどの検索の仕組みを教えてください。お願いします
インターネットでよく使用する、「検索」ですが、いったいどのような仕組みあれだけの広い範囲をすごいスピードで調べているのでしょうか?どなたか、教えてください。不思議でしょうがないです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
(1)検索エンジンは世界中のサーバー、PCをチェックしに行くのか? 違います。検索エンジンはテキストデータを蓄積しています。 なみに容量ではありません。テラバイトの単位です。 (1テラ=1000ギガバイト) 1度登録したホームページなどのデータはどんどん 蓄積されていくわけです。 (2)検索されるデータは、検索しやすい形で、何かとセットで存在するのか? 検索されるデータはどういう形でもってるかというと 国語辞典のような索引があるといえばわかりやすいでしょうか? ただ国語辞典とちがって先頭の1文字だけではありません。 どういう形で索引データをもっているかというと 検索エンジンによっても違うのですが 単語別に索引データをもっていたり、網羅しているものもあります。 ちなみに普通の索引を持つデータというのは 「あいうえお」という10バイトのテキストデータがあるとすると その約5倍、50バイトぐらいの索引データが必要といわれています。 B-TREEというのは一番上にルート(根)とよばれるところから検索を はじめてそれが分岐していっています。その分岐を 条件にあわせてたどっていくと該当データにたどりつく という仕組みなのですが、B-TREEが考案されたのは今から30年前 の話で今ではさらに複雑なアルゴリズムになっているようです。
その他の回答 (2)
- furyfox
- ベストアンサー率56% (58/103)
データベースにはデータに索引情報をもっており、 少ない比較回数で検索できるような仕組みになっています。 例えば10万件のデータの中から5件該当するデータがあったとしても 10万件すべてを1個1個調べているわけではありません。 そのアルゴリズムについて知りたいなら B-TreeとかB木で検索してみると良いでしょう。
お礼
ありがとうございます。私が知りたいことの、かなりの部分がわかりました。ありがとうございました。
補足
仕組みは大体わかりましたが、次の2点がわかりません。 (1)検索エンジンは世界中のサーバー、PCをチェックしに行くのか? (2)検索されるデータは、検索しやすい形で、何かとセットで存在するのか? もしよければ、お答え願います。
- izumokun
- ベストアンサー率30% (1129/3679)
こちらに詳しい説明があります。
お礼
早速拝見させていただきました。ありがとうございました。
お礼
ご回答ありがとうございました。 私の考えていたのとはかなり違う仕組みになっているようです。 とても助かりました