# Windows SearchインデクサーのCPUが高いとき: 待つ、縮める、再構築する

`SearchIndexer.exe`はWindows Searchサービス(`WSearch`)で、スタート、エクスプローラー、Outlookがすぐ見つけられるよう、ファイル、メール、そのほかの内容を読んでいます。そこからの高いCPUやディスクは、Windowsのインストールやアップグレードのあと、大きなフォルダを加えたあと、インデックスを再構築したあと、しばらくは普通です。問題になるのは、いつまでも終わらない、最初からやり直し続ける、インデックスがインデクサーの得意な範囲を大きく超えたときです。先にインデックスの状態を読みます。ほとんどの対処は、検索をオフにすることではなく、インデックスを小さくすることです。

## インデクサーがしていること

[MicrosoftのインデックスのFAQ](https://support.microsoft.com/en-us/topic/da061c83-af6b-095c-0f7a-4dfecda4d15a)は、インデックス作成を、ファイル、メールメッセージ、そのほかの内容を見て、その情報を目録にすることと説明しています。最初の実行は数時間かかることがあり、そのあとはバックグラウンドで働き、変わったデータだけを再インデックスします。

その作業量は、インデックスする項目数に依存します。[Microsoftの検索パフォーマンスのガイド](https://learn.microsoft.com/en-us/troubleshoot/windows-client/shell-experience/windows-search-performance-issues)は規模を示しています。

| インデックスされた項目 | Microsoftが言うこと |
| --- | --- |
| 30,000未満 | 典型的なユーザーのコンピューター |
| 300,000まで | パワーユーザーのコンピューター |
| 400,000を超える | パフォーマンスの問題が始まり得る |
| 約100万 | 限度。それを超えるとインデックスが失敗したり、高いCPU、メモリ、ディスク使用を起こしたりし得る |

同じガイドは、PC上のOutlookメールボックスは既定でインデックスされ、600万項目を超えるメールボックスはインデクサーのパフォーマンスを下げ得ると書いています。

## 何かを変える前に状態を読む

Windows 11では、「設定」の「プライバシーとセキュリティ」「Windowsの検索」へ行き、項目数であるインデックス済みを見ます。Windows 10では、「設定」の「検索」「Windowsの検索」のインデックス済み項目です。新しいWindows 11のビルドはページを「検索」と呼び、インデックスのオプションは「ファイルの検索」の下にあります。

状態のメッセージは、見ている活動の種類を伝えます。

| 状態 | 意味 | すること |
| --- | --- | --- |
| インデックス作成完了 | インデックスは出来ている | 今の高いCPUは別のもの。タスクマネージャーをもう一度見る |
| インデックス作成中 | 新しい、または変わったファイルを追加している | PCを電源につないだまま数時間置く |
| ユーザーの操作のためインデックス作成が遅くなっている | 動いているが、PCを使っている間は遅くしている | 待つか、電源につないだままPCをアイドルにする |
| インデックスがメンテナンス中 | データベースを回復または最適化している | 最大30分待つ。繰り返すならドライブを確認する |
| インデックス作成は実行されていない | サービスが停止または無効 | Windows Searchサービスを確認する |

Microsoftはメンテナンスの場合に警告を足しています。インデックスの書き込みの問題は、ドライブ故障の前に来ることが多いので、そのメッセージが戻り続けるなら個人データをバックアップします。[ディスク活動の確認](/ja/windows/blog/windows-disk-100-percent)は、インデックスの負荷と、苦しんでいるドライブを見分ける助けになります。

## 初回のインデックスか、ループか

初回のインデックス、または再構築は、不安に見えても終わりがあります。Microsoftは、再構築は最大24時間かかり得るとしています。その間、インデックス済みの数は上がり、状態はインデックス作成中と読み、入力しているときや、CPUやディスクが前面の作業で忙しいときは、インデクサーは控えます。

ループは違って見えます。数日にわたって状態がインデックス作成完了に届かず、インデックス済みの数が下がってまた上がる、またはメンテナンスのメッセージが出続けます。どちらなのかを決める前に、項目数を1日1回、2、3日記します。

## クラシックか拡張を選ぶ

FAQは2つの範囲を説明しています。

- **クラシック**は、既定でドキュメント、ピクチャ、ミュージックのフォルダとデスクトップをインデックスし、検索の性能とリソース使用のバランスを取ります。
- **拡張**は、すべてのユーザーフォルダとファイルを含むPC全体をインデックスし、システムリソースをより多く使い得ます。

大きなプロジェクトフォルダ、写真ライブラリ、ゲームのインストールがあるPCで拡張にすると、項目数はMicrosoftが問題を予期する範囲へ押し上げ得ます。クラシックに切り替え、検索するフォルダだけを足すだけで足りることが多いです。

<figure class="blog-diagram">
  <picture>
    <source media="(max-width: 900px)" srcset="/img/blog/windows-windows-search-indexer-high-cpu-en-mobile.webp" type="image/webp" width="768" height="1180">
    <img src="/img/blog/windows-windows-search-indexer-high-cpu-en.webp" width="1360" height="454" loading="lazy" alt="インデックスの範囲が作業を決める">
  </picture>
  <figcaption>クラシックは主なユーザーフォルダを対象にし、拡張はPC全体を対象にし、除外したフォルダはインデックスされません。</figcaption>
</figure>

## 検索が不要なフォルダを除外する

Microsoftのガイドは、インデックスを縮める方法を2つ示しています。

- **フォルダ全体を除外する:** 「設定」の「プライバシーとセキュリティ」「Windowsの検索」「除外するフォルダーを追加」(Windows 10は「設定」の「検索」「Windowsの検索」)。
- **場所を精密に選ぶ:** 同じページで「インデックスの詳細オプション」(Windows 10は「検索インデクサーの詳細設定」)を選び、インデックスのオプションで「変更」を選んで、場所にチェックを入れるか外します。

良い候補は、名前や内容で検索しないファイルでいっぱいのフォルダです。開発プロジェクトのビルド出力と依存関係フォルダ、仮想マシンのディスク、ゲームライブラリ、アーカイブとしてだけ残す大きなダウンロードです。「インデックスのオプション」「詳細設定」「ファイルの種類」では、特定の拡張子の扱いも変えられます。

Outlookについては、Microsoftは、インデックスされる量を減らすため、既定の1年より短いメール同期の期間を勧めています。

## インデックスが実際にどれだけ大きいか確認する

インデックスは`C:\ProgramData\Microsoft\Search\Data\Applications\Windows`にあり、Windows 11では`Windows.db`、Windows 10では`Windows.edb`です。Microsoftは、エクスプローラーのサイズ列ではなく、ファイルのプロパティの「ディスク上のサイズ」で判断するよう書いています。スパースファイルに対するインデクサーの圧縮が、一覧のサイズを不正確にするからです。大きなデータベースは範囲を狭くする理由であり、ファイルを削除する理由ではありません。

## トラブルシューティングツール、それから再構築、その順で

Windows 10には検索とインデックスのトラブルシューティングツールがあります。Microsoftは、これを新しいWindows 11のリリースから[削除されつつある従来のトラブルシューティングツール](https://support.microsoft.com/en-us/windows/deprecation-of-microsoft-support-diagnostic-tool-msdt-and-msdt-troubleshooters-0c5ac9a2-1600-4539-b9d0-069e71f9040a)の中に挙げ、代わりに「設定」の「システム」「トラブルシューティング」「その他のトラブルシューティングツール」の下の問い合わせを指しています。

再構築は最後の手順で、範囲を変えたあとにインデックスを新しい選択へ合わせる、正しい手順です。Windows 11では、「設定」の「プライバシーとセキュリティ」「Windowsの検索」「インデックスの詳細オプション」「詳細設定」「再構築」です。Windows 10では、同じボタンは「検索インデクサーの詳細設定」「詳細設定」の下にあります。検索結果は不完全になり、インデクサーは最大24時間忙しくなるので、夕方にPCを電源につないで始めます。

## やってはいけないこと

- CPU使用を止めるためにWindows Searchサービスを無効にしない。スタート、エクスプローラー、Outlookの検索が遅くなるか不完全になります。Microsoftは、一部のウイルス対策と「PCを最適化」するアプリがこれを無効にすると書き、検索を使いたいならそのようなアプリを実行しないよう勧めています。
- 再構築を繰り返さない。再構築のたびに長い初回実行が始まります。先に範囲を変え、それから一度だけ再構築します。
- `C:\ProgramData\Microsoft\Search\Data`の中身を削除しない。Microsoftは、設定ページが灰色になりサービスがもう起動できない場合のために、それを残しています。
- 修正としてタスクマネージャーで`SearchIndexer.exe`を終了しない。インデックスは小さくならず、残りの作業はサービスが次に動くときも待っています。

Mole for Windowsはインデックスそのものには入りません。最適化ページにある関連する作業は1つ、「Windows Searchを開始」で、サービスが自動開始に設定されているのに止まっているときだけ適用されます。クラッシュのあとに起きることです。意図してオフにしたWindows Searchサービスは、オフのままです。Moleはインデックスを再構築、削除、サイズ変更せず、ステータスページではインデクサーに「終了」を出しません。Windowsフォルダから動くからです。

ほかのバックグラウンド負荷は、[WindowsのCPU使用率が高いとき](/ja/windows/blog/windows-high-cpu-usage)と[Windowsの最適化が実際にすること](/ja/windows/blog/what-windows-optimization-does)を見てください。

## よくある質問

### Windows SearchインデクサーがそんなにCPUを使うのはなぜですか?

たいていインデックスを構築または更新しているからです。Windowsのインストールやアップグレードのあと、多くのファイルを加えたあと、再構築のあとです。「設定」の「プライバシーとセキュリティ」「Windowsの検索」を確認します。インデックス作成中なら終わらせます。完了しないなら範囲を減らします。

### Windowsのインデックス作成はどれだけかかりますか?

Microsoftは、最初のインデックスは数時間、再構築は最大24時間かかり得るとしています。40万項目を超える非常に大きなインデックスはさらに長く、パフォーマンスの問題が始まる場所です。

### Windows Searchのインデックスを無効にしても安全ですか?

Windowsを傷つけることはありませんが、スタート、エクスプローラー、Outlookでの検索が遅くなるか不完全になります。フォルダを除外する、または拡張からクラシックへ切り替えると、検索を動かしながらCPU使用が解決することが多いです。

### 検索インデックスを再構築すべきですか?

待っても直らない問題を状態が示しているあと、またはインデックスするフォルダを変えたあとだけです。再構築のたびに、インデックス作成は最初から始まります。


Canonical: https://mole.fit/ja/windows/blog/windows-search-indexer-high-cpu
