\r\n\r\n

検索エンジンの仕組みは?

多くの人にとって、Googleはインターネットです。インターネット以降、最も重要な発明であることは間違いありません。その後、検索エンジンは大きく変化しましたが、その基本的な原理は変わりません...。

更新者:JoelLeeさん 2017年10月10日

how-do-search-engines-work-featured-2

多くの人にとって、Googleはインターネットです。新しいウェブサイトを見つけるための出発点であり、インターネット以来最も重要な発明であると言っても過言ではない。検索エンジンがなければ、一般の人は新しいウェブコンテンツにアクセスすることができない。

しかし、検索エンジンの仕組みはご存知でしょうか?すべての検索エンジンは、クロール(コンテンツの発見)、インデックス(コンテンツの追跡と保存)、リトリーブ(ユーザーが検索エンジンに問い合わせたときに関連するコンテンツを取得)の3つの主要機能を備えている。

クローリング

クロールは、サイトに関するデータを取得するところからすべてが始まります。

これは、サイトをスキャンして、各ページのタイトル、画像、キーワード、他のリンク先ページなどの詳細情報を収集することです。また、クローラーによって、ページのレイアウト、広告の配置、リンクの有無など、異なる詳細を確認する場合もあります。

しかし、ウェブサイトはどのようにしてクロールされるのでしょうか?自動化されたロボット(「スパイダー」と呼ばれる)は、ページのリンクを使って次に進むべき場所を探しながら、できるだけ早く次々とページを訪れていきます。初期の頃でも、Googleのスパイダーは1秒間に数百ページを読み取ることができました。今は、数千人規模です。

ウェブクローラーは、あるページにアクセスすると、そのページ上の各リンクを収集し、次にアクセスするページのリストに追加する。そして、リストの中の次のページに行き、そのページのリンクを収集することを繰り返す。また、ウェブクローラーは時々過去のページを訪れ、何か変更が加えられていないかどうかを確認することもある。

つまり、インデックスされたサイトからリンクされたサイトは、最終的にクロールされることになるのです。クロールの頻度が高いサイトや、クロールの深さが深いサイトもありますが、サイトのページ階層が複雑すぎる場合、クローラーが諦めてしまうこともあるようです。

ウェブクローラーの仕組みを理解する一つの方法は、自分で作ってみることです。PHPで基本的なWebクローラーを作成するチュートリアルを書いていますので、プログラミング経験のある方はぜひご覧ください。

なお、ページは「noindex」とマークすることができ、これは検索エンジンにインデックス作成を省略するように依頼するようなものです。インターネットのインデックスされていない部分は「ディープウェブ」と呼ばれ、tornetworkでホストされているサイトなど、検索エンジンにインデックスされないものがあります。(TOR、オニオンルーティングとは?)

インデックス

インデックスとは、クロールしたウェブのデータを処理してデータベースに格納することである。

自分が持っているすべての本、出版社、著者、ジャンル、ページ数などをリストアップすることを想像してください。クローリングは1冊1冊をとかすこと、インデックス付けはリストに記録することです。

今度は、これが本でいっぱいの部屋ではなく、世界中のすべての図書館だと想像してみてください。これは、数千ペタバイトのドライブを持つ巨大なデータセンターにすべてのデータを保存しているグーグルの小規模版です。

Googleの検索データセンターの1つの内部を紹介します。

検索とランキング

検索とは、検索エンジンがあなたの検索クエリを処理し、クエリに最も関連性の高いページを返すことです。

ほとんどの検索エンジンは、その検索方法によって区別されています。彼らは、あなたが探しているコンテンツに最も適したページを選択するために、異なる基準を使用しています。これが、GoogleとBingで検索結果が異なる理由であり、Wolfram Alphaが独自に有用である理由です。

ランキング・アルゴリズムは、検索クエリを調べて、各ページの関連性を判断する。その複雑さゆえに、同社はランキングのアルゴリズムを独自の業界機密としています。アルゴリズムの向上は、より良い検索体験につながります。

また、ウェブページの作成者がシステムを操作して、検索結果の上位に不当に上がってくることも望んでいない。検索エンジンの内部関係者**が外に漏れれば、あらゆる人がその知識を利用して、あなたや私のような検索者に不利益をもたらすに違いない。

もちろん、検索エンジンの開発は可能ですが、そう簡単にはいかなくなりました。

当初、検索エンジンはキーワードの出現頻度に基づいてウェブサイトをランク付けしていたため、ページをキーワードで埋め尽くす「キーワード・スタッフィング」、つまり無意味なページ作りが行われていたのです。

検索エンジンは、サイトの人気度を関連性と解釈し、多くのリンクを受けているサイトを評価する。しかし、その結果、ウェブ上にリンクスパムが散見されるようになった。今日、検索エンジンは、リンク先のサイトの「権威」に応じて、リンクを重み付けしています。検索エンジンは、リンクディレクトリからのリンクよりも、**代理店からのリンクを高く評価します。

今日、ランキングのアルゴリズムはかつてないほど謎めいており、「検索エンジン最適化」はそれほど重要ではなくなっています。検索エンジンでの上位表示は、質の高いコンテンツと優れたユーザーエクスペリエンスから生まれるようになりました。

検索エンジンの次なる展開は?

ああ、これは面白い質問ですね。その答えは「セマンティクス」、つまりページの内容の意味です。詳しくは、セマンティックマークアップの概要とその将来的な意味をご覧ください。

でも、要はこういうことです。

これで「グルテンフリービスケット」と検索しても、グルテンフリービスケットレシピが返されることがあります。その代わり、普通のビスケットのレシピの中に「このレシピはグルテンフリーです」と書いてあるものがありますが、これはキーワードは合っていても意味は間違っています。

セマンティクスを使って、クッキーのレシピを検索し、特定の材料(小麦粉、ナッツなど)を取り除くことができます。また、準備時間が30分以内のレシピだけを絞り込んで、4/5以上のスコアを持つレシピを見ることも可能です。それはそれでカッコいいんじゃないですか?すぐそこにいるんだ!

検索エンジンの仕組みがまだわからない方は、Googleの説明をご覧ください。

画像検索エンジンの仕組みについては、こちらもご覧ください。

写真提供:Prihodov/photo

  • 2021-03-12 13:31 に公開
  • 閲覧 ( 17 )
  • 分類:IT

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ