• ベストアンサー

yahoo gooなどの検索の仕組みを教えてください。お願いします

インターネットでよく使用する、「検索」ですが、いったいどのような仕組みあれだけの広い範囲をすごいスピードで調べているのでしょうか?どなたか、教えてください。不思議でしょうがないです。

質問者が選んだベストアンサー

  • ベストアンサー
  • furyfox
  • ベストアンサー率56% (58/103)
回答No.3

(1)検索エンジンは世界中のサーバー、PCをチェックしに行くのか? 違います。検索エンジンはテキストデータを蓄積しています。 なみに容量ではありません。テラバイトの単位です。 (1テラ=1000ギガバイト) 1度登録したホームページなどのデータはどんどん 蓄積されていくわけです。 (2)検索されるデータは、検索しやすい形で、何かとセットで存在するのか? 検索されるデータはどういう形でもってるかというと 国語辞典のような索引があるといえばわかりやすいでしょうか? ただ国語辞典とちがって先頭の1文字だけではありません。 どういう形で索引データをもっているかというと 検索エンジンによっても違うのですが 単語別に索引データをもっていたり、網羅しているものもあります。 ちなみに普通の索引を持つデータというのは 「あいうえお」という10バイトのテキストデータがあるとすると その約5倍、50バイトぐらいの索引データが必要といわれています。 B-TREEというのは一番上にルート(根)とよばれるところから検索を はじめてそれが分岐していっています。その分岐を 条件にあわせてたどっていくと該当データにたどりつく という仕組みなのですが、B-TREEが考案されたのは今から30年前 の話で今ではさらに複雑なアルゴリズムになっているようです。

yos4
質問者

お礼

ご回答ありがとうございました。 私の考えていたのとはかなり違う仕組みになっているようです。 とても助かりました

その他の回答 (2)

  • furyfox
  • ベストアンサー率56% (58/103)
回答No.2

データベースにはデータに索引情報をもっており、 少ない比較回数で検索できるような仕組みになっています。 例えば10万件のデータの中から5件該当するデータがあったとしても 10万件すべてを1個1個調べているわけではありません。 そのアルゴリズムについて知りたいなら B-TreeとかB木で検索してみると良いでしょう。

yos4
質問者

お礼

ありがとうございます。私が知りたいことの、かなりの部分がわかりました。ありがとうございました。

yos4
質問者

補足

仕組みは大体わかりましたが、次の2点がわかりません。 (1)検索エンジンは世界中のサーバー、PCをチェックしに行くのか? (2)検索されるデータは、検索しやすい形で、何かとセットで存在するのか? もしよければ、お答え願います。

  • izumokun
  • ベストアンサー率30% (1129/3679)
回答No.1

 こちらに詳しい説明があります。

参考URL:
http://www.seojapan.com/kensakuengine/search-engine.html
yos4
質問者

お礼

早速拝見させていただきました。ありがとうございました。

関連するQ&A