本記事にはアフィリエイトリンクを含みます。Amazonのアソシエイトとして収益を得る場合があります。

macOSのSpotlight検索を使いこなす|除外フォルダ・インデックス再構築

macOSのアイキャッチ macOS
macOS

Macを使っていると、⌘ + Spaceでサッと何でも検索できるSpotlightはかなり便利ですよね。ところが「検索に不要なものまで出てくる」「重いと感じることがある」「インデックスがおかしくなった気がする」といった場面で設定をいじりたくなることってありませんか。

この記事ではSpotlightの基本的な使い方から、検索カテゴリのカスタマイズ、特定フォルダの除外設定、インデックスの再構築まで、一通りまとめてみました。特に開発者の方にはnode_modulesや仮想マシンフォルダの除外設定が役立つと思います。

この記事でわかること

  • Spotlightの基本操作とmds_storesとの関係
  • 検索カテゴリを絞り込む設定方法
  • 特定フォルダをインデックス対象から外す手順
  • インデックスを手動で再構築する方法
  • Spotlightを一時的に無効化する方法

本記事の内容は macOS Sequoia (15.*.*) 時点の情報をもとにしています。

macOS Spotlightとは|mds_storesとの関係

SpotlightはmacOS標準の全文検索機能です。⌘ + Spaceでいつでも呼び出せて、ファイル・アプリ・メール・カレンダーなど幅広いコンテンツをまとめて検索できます。

この検索を支えているのがインデックスファイルです。macOSはバックグラウンドでmds(Metadata Server)というプロセスが動いており、ファイルの内容や属性を解析してインデックスを生成・更新し続けています。そのデータが格納されているのがmds_storesと呼ばれるフォルダです。

Spotlight検索の便利な使い方

まず基本から。⌘ + SpaceでSpotlightを開いたあと、以下のような使い方ができます。

使い方操作例
アプリを素早く起動ターミナルと入力してEnter
ファイルを開くファイル名の一部を入力してEnter
計算する1920 * 1080と入力すると即座に計算
単位変換100 USD in JPYなどで変換
辞書を引く単語を入力して辞書タブを選択
Webを検索入力後に⌘ + Bでブラウザで検索

検索結果はカテゴリごとに分類されて表示されます。⌘ + ↑ / ↓でカテゴリをまたいで移動できますよ。


検索カテゴリをカスタマイズする方法

Spotlightが検索する対象は設定画面から絞り込めます。不要なカテゴリを外すと検索結果がスッキリして使いやすくなります。

Step 1:システム設定を開く

画面左上のAppleメニュー →「システム設定」を選択します。

Step 2:Spotlightの設定へ進む

左のサイドバーから「Siri と Spotlight」を選択し、「Spotlightの検索結果」セクションまでスクロールします。

Step 3:不要なカテゴリのチェックを外す

検索対象として含めたくないカテゴリのチェックボックスをオフにします。

例えばこんな使い方が考えられます。

  • 開発者向け:「開発者」「ソースコード」は残し、「映画」「音楽」などは外す
  • 業務用途:「メール」「カレンダー」「連絡先」を中心に残す
  • シンプルに使いたい:「アプリケーション」「書類」だけにする

設定変更後は即時反映されます。

特定フォルダをインデックス対象から除外する手順

カテゴリ単位ではなく「このフォルダだけ検索させたくない」という場合は、フォルダ単位の除外設定が使えます。

Step 1:Spotlightのプライバシー設定を開く

「システム設定」→「Siri と Spotlight」→「Spotlightのプライバシー…」ボタンをクリックします。

Step 2:除外フォルダを追加する

プライバシーリストが表示されたら、左下の「+」ボタンをクリックし、除外したいフォルダを選択します。

ドラッグ&ドロップでリストにフォルダを追加することも可能です。

Step 3:設定を確認して閉じる

リストに追加されたフォルダは以降Spotlightの検索対象から外れます。設定はすぐに有効になります。

開発者向け:node_modules / 仮想マシン / ログフォルダ

開発環境を使っているとSpotlightに検索させたくないフォルダが出てきますよね。インデックス対象になっていると検索結果にノイズが混じるだけでなく、CPUやディスクへの余計な負荷にもなります。

以下のようなフォルダはプライバシーリストに追加しておくのがおすすめです。

フォルダの種類
npmの依存パッケージ~/プロジェクト名/node_modules
Dockerの仮想ディスク~/Library/Containers/ 配下など
仮想マシンファイル.vmwarevm .utm .parallels フォルダ
ログフォルダ/var/log やアプリ独自のlogsフォルダ
キャッシュフォルダ~/Library/Caches/ 配下

Spotlightインデックスを手動で再構築する方法

検索結果がおかしい、存在するファイルが見つからない、という状況になったときはインデックスの再構築が有効です。

GUIから再構築する方法

もっとも手軽な方法はプライバシーリストを使う方法です。

Step 1:「システム設定」→「Siri と Spotlight」→「Spotlightのプライバシー…」を開く

Step 2:「+」ボタンでMacintosh HD(またはインデックスを再構築したいドライブ)を追加する

Step 3:しばらく待ってから「−」ボタンで削除する

この操作でSpotlightがそのドライブのインデックスを破棄し、再構築を開始します。完了までは数分〜数十分かかることがありますが、バックグラウンドで進むので作業を続けながら待てます。

ターミナルから再構築する方法

コマンドラインで操作したい場合はこちらです。

zsh

-Eオプションはインデックスを消去して再構築する指示です。/はルートボリューム全体を対象にしています。特定のボリュームだけ対象にしたい場合はパスを変えてください。

zsh

⚠️ 注意 sudoコマンドはシステムに対する権限が強い操作です。対象のパスに誤りがないか確認してから実行してください。

Spotlightを一時的に無効化する方法(ターミナル使用)

大量ファイルのコピーや移動中だけSpotlightを止めたい、というときはターミナルから無効化できます。

インデックス作成を停止する

zsh

-aはすべてのボリュームを対象、-i offがインデックス作成の停止指示です。

インデックス作成を再開する

zsh

停止中はSpotlightで検索しても結果が出ないか、古い状態の結果になります。作業が終わったら必ず再開しておきましょう。

現在の状態を確認する

zsh

Indexing enabled.と表示されていればインデックス作成は有効です。Indexing disabled.なら停止中の状態です。

Q&A

Q
除外したフォルダを再度Spotlightに検索させたい場合は?
A

プライバシーリストから対象のフォルダを選択して「−」ボタンで削除するだけです。削除後はインデックスの再構築が始まります。

Q
インデックス再構築中はCPU使用率が上がる?
A

再構築中はmdsのプロセスがCPUを使います。シリコンチップやSSDを搭載している近年のMacでは作業できないほど重く感じることはないと思いますが、結構なCPU使用率になると思います。重いと感じるときはしばらく待つか、作業の少ない時間帯に実行するといいかもしれません。通常は数分〜数十分で落ち着きます。

Q
iCloudフォルダもインデックス対象になる?
A

デフォルトの状態だとインデックス対象です。ローカルにダウンロードされているファイルはSpotlightの検索対象です。iCloudのフォルダを除外したい場合もプライバシーリストから同様の操作で対応できます。

Q
mdutilとmdfindの違いは?
A

mdutilはSpotlightのインデックス管理コマンドで、有効化・無効化・再構築などを担います。mdfindはターミナルからSpotlightの検索を実行するコマンドです。用途が異なりますが、両方ともmdsの仕組みを使っています。

まとめ

  • Spotlightのインデックスデータはmds_storesフォルダに格納されているよ。
  • 検索カテゴリは「システム設定」→「Siri と Spotlight」から絞り込めるよ。
  • node_modulesや仮想マシンフォルダはプライバシーリストで除外しておくと快適だよ。
  • インデックスの再構築はGUIからドライブを一度追加・削除するだけでもできるよ。
  • ターミナルでsudo mdutil -E /を使う方法もあるよ。
  • 一時的に止めたいときはsudo mdutil -a -i off、再開はsudo mdutil -a -i onでOKだよ。
当ブログの内容はできる限り正確な情報を提供するよう努めていますが、利用にあたっては自己責任でお願いいたします。
掲載内容に基づく操作・設定などによって生じたトラブルや損害について、当サイトは一切の責任を負いません。
タイトルとURLをコピーしました