19.1.1. 検索エンジンとは
ウェブブラウザを用いて特定のページを表示するためには、そのページの住所に相当する URL (Uniform Resource Locator) を指定しなくてはなりません。しかし事前に欲しい情報のある URL を知っていることは滅多にありませんし、欲しい情報の載ったページが存在するかどうかすらわからないこともよくあります。
検索エンジンとは、こうしたときに希望のウェブページを探し出すためのサービスのことです。サーチエンジン (search engine) と呼ばれることもあります。もちろん検索エンジンを使ったからといって、必ずしも望み通りのウェブページが見つかるわけではありません。ですが上手に利用することで、かなり効率良く適切なウェブページを探し出せるはずです。
実際に検索エンジンを利用する前に、その仕組みについて少し学んでおきましょう。
検索エンジンのしくみ #
検索エンジンの仕事は、主にウェブページの収集とインデックスの作成と呼ばれる 2 種類に分かれます。
まず検索結果としてウェブページの場所を表示するためには、どの URL にどのようなウェブページが存在するのかというリストが必要です。インターネット上にあるウェブページの数は膨大なので、この作業は検索ロボットと呼ばれるプログラムが行います。検索ロボットはウェブサイト内にあるリンクを全て調べ、リンク先となっているウェブページにあるリンクも全て調べるという操作を繰り返して、ひたすらウェブページの収集を続けます。
ウェブページを収集したら、次は収集したページから検索のためのデータを作ります。このときに作られるデータをインデックスと呼ばれます。インデックスには様々な情報が含まれます。たとえばウェブページを解析して抽出されたキーワードがインデックスに入ります。また、どのページにリンクしているか/されているかという情報も入ります。実際に皆さんが検索をするときは、検索エンジンがインデックスの方を探して、適当なウェブサイトを表示します。
また検索エンジンは各ウェブページについて「重み付け」をします。たとえば、はいぱーワークブックのトップページには「はいぱーワークブック」および「検索エンジン」という二つの単語が入っています。皆さんが検索エンジンで「はいぱーワークブック」という単語を検索してはいぱーワークブックのトップページが表示されれば、これは妥当な検索結果と言えるでしょう。しかし逆に「検索エンジン」という単語で検索をかけてはいぱーワークブックがヒットしてしまったら、これは妥当な結果とは言えません。そこで検索エンジンは、各ウェブページに対して「キーワードとどれだけ関連があるか」という重みを割り当て、重みの大きいページから検索結果として表示するようにしています。重みというと 1 次元的な数値に聞こえてしまいますが、実際のところは重みの成分数はかなり多いです。
どのように重みを設定するかについては検索エンジンによってまちまちですが、たとえば以下に挙げるような指標が使われます。
- キーワードの出現頻度が高いときは重みを上げる
- 重みがあると判断されるページからリンクされるページに対しては、重みを上げる
- 新しい情報のほうが古い情報よりも重みがあると判断する
- 適切に管理されていないウェブサイト(たとえばリンク切れが多いサイトなど)は重みを下げる
- 広告などを目的とした情報の少ないページは、重みを下げる
この重みが適切に設定されることによって、検索エンジンが皆さんの求める情報を適切に表示してくれるようになっています。