Spotlight(スポットライト)

米Appleより開発、提供等が行われている、デスクトップ検索テクノロジー(メタデータ検索)。macOS(Mac OS X)を対象プラットフォームとし、米国時間2005年4月29日付にてリリースされた「Mac OS X 10.4 Tiger」において、中核機能の一つとして新たに実装された。機能の実装には、BeOSのファイルシステム「BFS(Be File System)」、macOSのファイルシステム「APFS(Apple File System)」の開発にも尽力したDominic Giampaolo(ドミニク・ジャンパオロ)が携わっており、独立したアプリケーションではなく、システムレベルで統合されている。

メタデータ検索とインクリメンタルサーチで、広範にして高速な検索を実現

macOSの実行時には、常時バックグラウンドにてmdsエンジンが稼働しており、クエリー用のAPIが整備されている事からも、システム構造上は BSDレイヤーよりも低位に属するコアに近い機能と解釈する事ができる。メニューバーの右側に配置されているマグニファインググラス(ルーペ、虫眼鏡)アイコンは 検索機能のフロントエンドに相当し、一方では Spotlightの機能にアクセスする事ができるUNIXコマンド(「mdfind」「mdls」)も用意されている。

Spotlightの検索ボックス
「Mac OS X 10.4 Tiger」における「Spotlight」の検索ボックス(検索語入力フィールド)

従来までのファイル名や修正日等に基づいた検索に加えて、種々のメタデータを含む、ファイルの内容にまで着目したインテリジェンスな検索の実行を可能としている。このメタデータとは、データ自身について、ファイル名とは別に データに関する補足、属性等が記述されたデータと定義する事ができ、これには、EXIF(Exchangeable image file format)情報、ID3タグ、フォーマット、エンコードソフトウェア、コーデック、データレート、サンプリングレート、ビットレート、テキストエンコーディング、ジェネレーター(作成アプリケーション)等、様々な情報が含まれる(画像データのメタ情報は、macOS標準の「Photo.app」や「Adobe Photoshop Lightroom」等で確認する事も可能)。

※メタデータの「メタ」は、ギリシャ語で「~について」「超越する」「~の上の」等、様々な意味と使い方があるが、メタデータにおける「メタ」は「~について」、英語における「about」と同義であると解釈する事ができる。つまり抽象的ではあるが、メタデータとはデータ自体の表現や記述に使われるデータを指しており、表現される側のデータを対象データ、表現する側のデータをメタデータとして定義している。

また、検索クエリー入力の1文字追加毎に 検索結果がドロップダウンにてリアルタイムに更新(絞り込み)されるインクリメンタルサーチ、mdworker(mdimporter)によるインデックス管理等により、高速なパフォーマンスを実現している他、永続的な検索結果をフォルダーレベルにて反映可能な「Smart Folder(スマートフォルダ)」機能の提供やプラグインを介した他アプリケーションに対する機能拡張モジュール(付加機能)としての組み込み等もサポートしている。

検索範囲は各種のローカルディスクのみならず、2007年10月26日付にてリリースされた「Mac OS X 10.5 Leopard」より、リムーバブルメディアやネットワーク上の共有ボリューム(フォルダー)を対象としたインデックスの作成にも対応している他、Wikipedia、Maps、News、Bing、iTunes Store、iBooks Store、App Store等、各種ネットワークサービスのコンテンツも検索対象としている(インデックス対象となるボリューム内であっても、アクセス権によって制限されている領域や不可視ファイル、及びバンドルパッケージ内のファイル等は、メタデータ検索の対象に含まれない)。

また、「Finder」「System Preferences(システム環境設定)」、ナビゲーションサービス(米国時間1998年10月17日付にてリリースされた「Mac OS 8.5 Allegro」より導入され、各アプリケーションにおいて任意のファイルを開く(或いは保存する)場合に表示されるダイアログボックス)等、OSレベルで提供される各種のサービスにも その機能性を享受している。

「Mac OS X Tiger」のナビゲーションサービス
「Mac OS X 10.4 Tiger」より導入された、Spotlight検索と連動したナビゲーションサービス。ここでの検索では、細かな条件指定を行う事はできず、「OR検索」「NOT検索」も機能しない

また、アプリケーションレベルでは、Webブラウザー「Safari」における閲覧履歴(ヒストリー)、日本語対応を含む「Dictionary(辞書)」、「Mail(メール)」等にも対応している他、「Help(ヘルプ)」メニューに配置された検索ボックスからは、各種ヘルプコンテンツを直接検索する事も可能としている(メニュー項目を検索対象に追加した事によって、検索クエリーを含む当該項目も併せてリストアップ可能)。

このように、プラグイン等の使用によって拡張される側だった「Sherlock(シャーロック)」とは異なり、 Apple純正ソフトウェアのみならず、サードパーティーベンダーのソフトウェアに対する機能の組み込みにも対応している。

尚、「Finder検索」は「Mac OS X 10.3 Panther」以前のファイル検索における対象範囲にメタデータの要素を加えただけの機能ではなく、検索条件の指定にも様々なメタデータの内容を個別に指定する事が可能となっており、検索結果のウインドウ内では、任意のファイルのパスを視覚的に確認する事も可能となっている。

Spotlightの検索結果
「Mac OS X 10.4 Tiger」における 検索結果の表示ウインドウ

ここでの検索結果は、項目別に分類されたドロップダウンリストで表示され、各種のドキュメント(イメージやPDF等)等をクリックする事によって、サムネール(コンテンツのプレビュー表示)、更新時刻等、ファイル毎の詳細を確認する事も可能となっている。また、「Show all in Finder…(Finderにすべてを表示…)」をダブルクリック(或いはリターンキーを押下)する事によって、新規Finderウインドウでの表示にも対応している。

その後、米国時間2014年10月16日付にてリリースされた「OS X Yosemite(OS X 10.10)」では、従来までメニューバー右端の虫眼鏡アイコン直下に表示されていた検索フィールドが、デスクトップ中央に配置されてるべくした変更が適用された。

Spotlight検索を支えるインデックスファイル

当検索テクノロジーにおける特徴の一つである高速なレスポンスは、ルートディレクトリ直下の不可視フォルダー「/.Spotlight-V100/」以下(サブディレクトリ「Store-V1」「Store-V2」)に保存されているインデックスファイルによって齎されており、これはmacOS(Mac OS X)のインストール後、初回起動直後に自動的に作成される事となる(インポート(メタデータの収集、インデックス化)に要する時間は環境によって差が生じており、「Mac OS X 10.4 Tiger」リリース時には、特に「Mac OS X 10.3 Panther」以前からアップグレードした環境においては、数時間単位の所要時間も報告されていた)。

作成した索引に対しては、「Terminal(ターミナル)」を通じて「mdutil」コマンドを実行する事によって、各種の制御を行う事が可能となっている(要管理者権限)。これには、ストアされているインデックスの削除から再構築(-E)、任意のボリュームに対する インデクシング自体の有効化、無効化(-i)、ストアされているメタ情報のリストの出力(-L)、インデックスステータスの出力、インデックス範囲のカスタマイズ、索引対象か否かの確認、詳細情報の表示等が含まれる。

尚、インデックスの再構築後には、ファイルの追加、削除を繰り返した事によって生じていたインデックスの冗長化(フラグメンテーション)が解消され、インデックスファイルの容量が減少するケースもある。

Plug-in(プラグイン)による機能の組み込み

Spotlightは、特定のアプリケーションにて作成された独自形式のデータから メタデータを収集するための機能を2種のメソッドにて提供しており、一つは「/System/Library/Spotlight/」「/Library/Spotlight/」階層に属する Spotlightインポーター等のプラグインファイル(拡張子「mdimporter」)を参照させる形式、もう一つは「BathyScaphe」のように アプリケーション本体に機能を統合する形式となっている。このように、プラグインを別途に提供する形をとれば、アプリケーションに対して 後付けにてSpotlightの機能を付加する事も可能となっている(最終更新日 2024年2月23日)。