Spotlight拡張機能はサードパーティ製アプリの検索機能を強化し、アプリ固有のコンテンツをより多く検索できるようにします。macOSで拡張機能を有効または無効にする方法は次のとおりです。
Spotlight は Apple の検索インデックス作成テクノロジーであり、ファイルとその内容に関するメタデータを保存することで、Mac または iOS デバイス上のデータの検索を高速化します。
macOSは、ストレージデバイス上のファイルとデータをカタログ化するプロセスをバックグラウンドで定期的に実行します。このデータはインデックスに保存され、Spotlightは将来検索を行う際にこのインデックスを使用してデータを参照します。
データのインデックスを保持すると、検索が高速化され、Spotlight で探しているデータをより早く見つけられるようになります。
Spotlightによる特定のストレージボリュームやフォルダの検索を停止することもできます。システム設定アプリの「Spotlight」→「検索プライバシー」シートで、該当するボリュームやフォルダを追加することで停止できます。
サードパーティ製アプリのSpotlight拡張機能
一部のサードパーティ製macOSアプリには、拡張機能を通じてSpotlightにカスタムデータを提供する機能が含まれています。これはアプリ開発者が提供する小さなコードで、Spotlightはこれを使用してカスタムデータをインデックスに追加できます。
拡張機能は、各アプリが使用するデータとその構造をSpotlightに伝えるため、Spotlight検索をさらに高速化します。Spotlight拡張機能を提供することで、サードパーティ製アプリはSpotlightに対し、アプリが作成するデータファイルを迅速かつ効率的に検索し、インデックスを作成する方法を指示することになります。
Macに新しいアプリを追加すると、そのアプリにSpotlight機能拡張が含まれている場合は、自動的に追加されます。Spotlight機能拡張は通常、各アプリのバンドル(フォルダ)内の/Contants/Library/Spotlightフォルダ内に.mdimporterファイル(それ自体がバンドル)として含まれています。
サードパーティ製アプリのSpotlight拡張機能の有効化/無効化
macOS Sequoiaでは、どのアプリのSpotlight拡張機能を有効または無効にするかを指定できます。システム設定でSpotlight拡張機能をオフにすると、そのアプリ固有の情報がSpotlightから削除されます。
たとえば、特定のアプリのデータやメタデータの構造に関する追加情報を Spotlight に提供したくない場合は、これを実行することをお勧めします。
Spotlight拡張機能を無効にしても、 Spotlightがこれらの種類のファイルをインデックス化するのを止めることはできません。Spotlightがアプリのデータ構造とメタデータの内部動作を把握できなくなるだけです。
特定のアプリのSpotlight拡張機能を有効または無効にするには、「システム設定」->「一般」->「ログイン項目と拡張機能」->「Spotlight」に移動し、右側にある小さな「情報」ボタンをクリックします。すると、Spotlight拡張機能シートが開きます。
macOS のシステム設定アプリの Spotlight 拡張機能シート。
リストされているアプリごとに、右側のスイッチを切り替えて、Spotlight がそのアプリのデータにアクセスする機能を有効または無効にします。
mdutil
macOS ターミナルでは、やなど、いくつかのコマンドライン Spotlight ユーティリティも使用できますmdfind
。macOS のコマンドライン Spotlight ユーティリティの使用方法の詳細については、以前の記事「macOS で Spotlight のメタデータ ファイル ユーティリティを使用する方法」および「Mac で Spotlight をさらに活用する方法」をご覧ください。
開発者の場合は、Spotlight Foundation API のメイン Apple ドキュメントと Core Services ドキュメントのファイル メタデータ セクションを必ずお読みください。
使用する主な 2 つのクラスはNSMetadataQuery
とですNSMetadataItem
。
Spotlight 拡張機能を記述することと、アプリで Spotlight 検索 API を使用することは異なるものであることに注意してください。
次に、かなり古い「Spotlight Importer プログラミング ガイド」と「ファイル メタデータ検索プログラミング ガイド」をお読みください。
Core Data を使用している場合は、「Core Data Spotlight 統合プログラミング ガイド」を参照してください。