【Mac】ファイルは確かに存在するのにSpotlightから検索できない時の解決法(インデックスの再構築方法)

Mac
スポンサーリンク

Macを使っていて、アプリや書類などをSpotlight検索する際、

ファイルは絶対の絶対に存在しているのに検索結果に表示されない!?

…という時の解決方法です。

原因は、「Spotlightのインデックスの不具合」で、このインデックスを再構築すると問題は解決します。

また、Spotlightを検索する時に、「索引作成中…」と、いつになっても終わらない時にも有効です。

やり方は、「ターミナルから行う方法」と、「Spotlight設定から行う方法の2種類あります。

動作確認環境

本体:iMac 2017(Retina 5K, 27inch)
OS:macOS Monterey(12.1)

スポンサーリンク

解決方法1:ターミナルからコマンドを入力する方法

  • STEP.1
    ターミナルを起動する。
  • STEP.2
    一旦、Spotlightのインデックス化を停止する。
    以下のコマンドを入力します。

    sudo mdutil -a -i off /

    パスワードを求められるので、ユーザのパスワードを入力します。

    その後、

    2022-02-18 11:17:43.979 mdutil[17949:20916933] mdutil disabling Spotlight: / -> kMDConfigSearchLevelFSSearchOnly

    …的なメッセージが表示されるので、しばらく待ちます。
    (数秒かもしれないし、数分かもしれません。)
    待つ犬

    ターミナルに、「Indexing enabled.」と表示すれば次のステップに進みます。

    因みに、ディスクを個別に停止する場合は、以下のようにします。
    あんまり使わないと思いますが。

    sudo mdutil -i on "/Volumes/Buckup HD/"

  • STEP.4
    Spotlightのインデックス化を始める。
    以下のコマンドを入力します。

    sudo mdutil -a -i on /

    パスワードを聞かれるので、ユーザパスワードを入力します。
    (キーを入力しても文字は表示されませんが、それでOKです)

    同じく、「Indexing enabled.」と表示されれば、作業完了です。

これで索引の再構築が行われます。

しばらくしたらSpotlightで検索をかけてみてください。検索結果に表示されるはずです。
(ファイル数が多い場合は、そこそこ時間がかかります。)

以下のコマンドは、インデックスの削除と再構築を行うコマンドです。
(こちらの方が簡単ですね…すみません。)

sudo mdutil -a -E /

因みに、mdutilコマンドのオプションはこのようになっています。

Usage: mdutil -pEsa -i (on|off) -d volume ...

       mdutil -t {volume-path | deviceid} fileid

Utility to manage Spotlight indexes.

-i (on|off)    Turn indexing on or off.
-d             Disable Spotlight activity for volume (re-enable using -i on).
-E             Erase and rebuild index.
-s             Print indexing status.
-a             Apply command to all stores on all volumes.
-t             Resolve files from file id with an optional volume path or device id.
-p             Publish metadata.
-V vol         Apply command to all stores on the specified volume.
-v             Display verbose information.
-r plugins     Ask the server to reimport files for UTIs claimed by the listed plugin.
-L volume-path List the directory contents of the Spotlight index on the specified volume.
-P volume-path Dump the VolumeConfig.plist for the specified volume.
-X volume-path Remove the Spotlight index directory on the specified volume.  Does not disable indexing.
               Spotlight will reevaluate volume when it is unmounted and remounted, the
               machine is rebooted, or an explicit index command such as 'mdutil -i' or 'mdutil -E' is
               run for the volume.

NOTE: Run as owner for network homes, otherwise run as root.

解決方法2:Spotlight設定から操作する方法

一旦、Spotlightの検索除外対象にするフリして、すぐに除外します。
ボリューム(HDDやSSD)が複数ある場合は、その数だけ繰り返します。

  • STEP.1
    システム環境設定
    アップルメニュー()から「システム環境設定」を選択します。
    アップルメニュー/システム環境設定
  • STEP.2
    Spotlightを選択する。
    環境設定/Spotlight
  • STEP.3
    「プライバシー」タブをクリックする。
  • STEP.4
    インデックスを再構築するディスクをドラッグして持ってくる。
    ディスクトップにあるディスクを、「Spotlightの検索から除外する場所:」の下の枠へドラッグ&ドロップします。

    警告が表示されますが、次のステップですぐ解除するので、ここはかまわず「OK」をクリック。

    ディスクが複数ある場合は、このステップを繰り返します。
  • STEP.5
    「Spotlightの検索から除外」から削除します。
    対象ディスクを選択後、「-」ボタンを押す。

    ディスクが複数ある場合は、まとめて消すこともできます。

以上で設定完了です。

これで、インデックスの再構築が完了です。

※ 検索時、「索引作成中」となっている場合は、インデックスが再構築中なので、しばらく待ってから、検索してみてください。
索引作成中

最後に

以上が、

  • どう見てもファイルが存在しているのに、いざ検索するとSpotlightに「そのファイルはないよ」って言われて困った時。
  • Spotlightの索引作成がいつになっても終わらない時。
  • 検索インデックスを再構築したい時

…の解決方法でした。

コメント

  1. 匿名 より:

    この不具合に悩んでいましたが、ターミナルのコマンドで解決できました!
    記事にしてくださり、ありがとうございました。

タイトルとURLをコピーしました