# 検索エンジンはなぜ一瞬で見つけられるのか

> レベル: 初級 ／ 対象: 大人
> 出典: Kotowary — https://kotowary.com/learn/units/search-engine?level=beginner&audience=adult
「カレー 作り方」と打ってから結果が出るまで、およそ0.5秒。何十億ページの中からです。実は検索エンジンは、あなたが検索した瞬間には**ほとんど何もしていません**。仕事の9割は、検索の何日も前に終わっています。旅は2部構成です:

**前準備**（あなたが検索するずっと前から、休みなく）:

1. **巡回する** — クローラがリンクをたどって世界中のページを読んで回る
2. **索引を作る** — 読んだ結果を「言葉 → 載っているページ」の逆引き帳にまとめる

**本番**（あなたが検索ボタンを押してから）:

3. **索引を引く** — Webは見に行かない。手元の逆引き帳をめくるだけ
4. **並べ替える** — 見つかったページを採点して、順位を付けて返す

::diagram{name="search-flow"}

## ① 巡回する

> 🎬 アニメーション『検索の前準備と本番』の **①〜②** のところです！

検索エンジンの裏では、**クローラ**という自動プログラムが休みなく働いています。

1. クローラがあるページを読む
2. そのページに貼られている**リンクを見つける**
3. リンクの先のページも読みに行く
4. これを延々と繰り返して、Webじゅうを渡り歩く

Webのページ同士は「クモの巣（Web）」のようにリンクでつながっているので、たどり続ければ大部分に到達できます。クローラ（這い回るもの）という名前もここから来ています。

⚠️ **イレギュラー**（クローラが来ないとき）:

- **どこからもリンクされていないページ** — たどり着く道がないので、いつまでも見つからない
- **「読まないで」と書いてあるページ** — サイト側はクローラお断りの札（robots.txtって言います）を出せる。会員専用ページなどは検索に出ないようにできる

## ② 索引を作る

> 🎬 アニメーション『検索の前準備と本番』の **③** のところです！

読んだページは、そのまま保管しても検索には使えません。**逆引きの形**に組み替えます。

1. ページの文章を言葉に分解する
2. 「**この言葉は、このページ達に載っていた**」という向きで帳面に書き込む
3. これを全ページ分積み上げると、巨大な**索引（インデックスって言います）**ができる

本の巻末索引と同じ向きです。「カレー……342ページ、518ページ」と引けるから速い。もし逆に「ページごとに載っている言葉」の形で持っていたら、検索のたびに全ページをめくり直すことになります。

## ③ 索引を引いて、並べ替える

> 🎬 アニメーション『検索の前準備と本番』の **④〜⑦** のところです！

ここからが、あなたが検索ボタンを押した後の0.5秒の中身です。

1. 「カレー 作り方」を言葉に分ける
2. 索引で「カレー」のページ一覧と「作り方」のページ一覧を引く
3. **両方に載っているページ**に絞り込む
4. 絞り込んだページを**採点して並べ替える**（ランキングって言います）— 言葉との関連の強さ、他の信頼できるページからのリンクの多さ、新しさ、などの合計点
5. 上位から順に、結果一覧としてあなたに返す

⚠️ **イレギュラー**（検索の世界の攻防）:

- **順位を不正に上げようとするページ** — 採点の癖を突いて上位を狙う手口（キーワードの詰め込み等）と、それを見破る採点の改良は、いたちごっこが続いている
- **作りたてのページが出てこない** — クローラがまだ来ていなければ索引に無い。「Webに公開した＝検索に出る」ではない

:::details 検索結果に「一瞬で」出る広告はなに？
検索結果の上部に出る「スポンサー」枠は、この索引の仕組みとは**別の仕組み**です。検索された言葉に対して広告主がオークションで枠を買っていて、検索と同時に瞬時の入札が行われています。同じ0.5秒の中で、検索と広告オークションの両方が走っている——これも前準備（広告主の登録・入札設定）が済んでいるからできる芸当です。
:::

まとめると、検索の速さの正体は「**先回りの準備**」です。あなたが打つかもしれない言葉のために、クローラは今日も巡回し、索引は今日も更新されています。次に0.5秒で結果が出たとき、その裏の何日分もの下ごしらえを思い出してみてください。
