Spotlight
Spotlight(スポットライト)とは、Mac OS X v10.4 Tigerから搭載されたSQLiteをベースとしたデスクトップ検索機能、およびその基盤技術のことである。検索フィールドに欲しい情報のキーワードを入力するだけで関連する全ての対象を検索できる。2004年のWWDCで同OSと同時に発表され、その高速性が大いにアピールされた。
特徴
Mac OS X v10.4のファイルシステムはHFS Plusをベースに、ファイルの内容から抽出したメタデータを同時に格納するよう拡張されている。この情報は事前にインデックス化されており、日付や著者名、メールアドレス、内容などの属性ごとに対応する値を保持するものである。そして対象属性とキーワードからなるクエリーを発行することで、指定した範囲から一致する情報をランク付けして引き出せる。この時情報は発見され次第リアルタイムで通知され、必要なら順次結果を更新することができる。
デスクトップ上部のメニューバーに常設されている全体検索では、種類指定や日付指定のような特殊な指定を事前に解析することで自然な検索を行うようになっている。ファイルを開いたり保存する際のダイアログにも検索フィールドがついており、フォルダを探し出すのに役に立つ。対応アプリケーションではウィンドウに検索フィールドが設けられており、アプリケーション内部のデータベースを検索することができる。たとえば、iCalでスケジュールをチェックしたり、iPhotoで写真を探したり、Safariでブックマークや履歴を見つけたりできる。なおメタデータは検索対照だけでなくプレビューにも利用される。
他にも意図する機能を入力することによって環境設定の項目を探したり、アプリケーションのランチャーとして利用できるなど、単純にファイルの検索にとどまらない応用が可能である。
Mac OS X v10.5から、ネットワーク上の共有フォルダの検索にも対応(下記参照)、最近閲覧したWebページの検索もできるようになっている。初期の Spotlightでは日本語形態素解析が不十分だったため、Googleで使われていたMeCabを採用した(/usr/lib/、/usr/include/mecab.h 等参照)。
その他
事前に検索対象をインデックス化する構造のため、旧バージョンからアップデートした場合は初期インデックスの構築に数時間を要する場合がある。またメタデータの格納用に100MBから数GBほどのディスク容量を必要とする。
同ファイルシステムの実装にはBeOSのファイルシステムBFSを製作したドミニク・ジャンパオロが関わっている。
Spotlightは高速さを売りにしており、Tigerが動作する下限クラスのMacであっても20-30秒もあれば全体の検索が終了する。Power Mac G5以上の高速なマシンでは入力が終わる前に検索が終了していることもある。
Mac OS X v10.5では、ネットワーク上の共有フォルダの検索にも対応したとされるが、10.5.6よりNAS(ネットワークハードディスク)の検索の際には、ターミナルを起動しての設定が必要(ファイルの更新には再検索が必要)。また、HFS+に依存しているため、SMBで接続されたボリュームの検索が不十分である。Mac OS X v10.6からは、NTFSへの書き込みが可能となったが、SpotlightでNTFSボリューム上を検索すると、かなりの確率でシステムトラブルが発生する [1](Snow Leopardの「NTFSへの書き込み」に関する後日談-Spotlightとの相性に問題) 。