メタデータ検索「Spotlight」-機能と使用方法

デスクトップ検索に革新を齎す、Tigerの新機能

2005年4月29日に、200種類以上もの新機能を追加して登場した「Mac OS X 10.4 Tiger」は、未だ未完成な部分が多いという印象は否めないものの、その機能面での充実度や快適な操作性、パフォーマンスを考えると、Mac OS Xの過去のメジャーアップグレードの中でも「最も革新的なアップグレード」といっても過言ではないと思います。

その中でも今回は、業界全体のトレンドにもなりつつあるメタデータ検索を主幹とし、Tigerの目玉機能と称される「Spotlight」について、概要と基本的な使用法を紹介したいと思います。

Spotlightの最大の特徴といえる「メタデータ検索」とは?

今回から2回に渡って解説予定とさせて頂いているSpotlight検索ですが、同機能を説明しようとした場合に、欠かす事のできない要素の一つとして「メタデータ」が挙げられます。

このメタデータとは、データ自身について、ファイル名とは別にデータに関する補足、説明等が記述されたデータと定義され、Spotlightにおいては 高速、且つ的確な検索を実現するために欠かす事のできない要素の一つ(ファイル内に含まれるデータの種類の一つ)と言えます。

近年では、Safari、Firefox等でもサポートされ、ブログの新着を配信している「RSS」「Atom」(注)も、Webページの内容が記述されたメタデータを配信するためのフォーマットの一つです。具体的に、どの形式のファイルに どんな種類の情報がメタデータとして記述されているか、幾つかの例を以下に列挙してみます(以下の例は、メタデータの種類の一部であり、これが全てではありません)。

サウンド

アルバム名、曲名、アーティスト名、作詞、作曲者名、フォーマット、エンコードソフトウェア名 etc...

イメージ(写真)

撮影したカメラの機種名、撮影年月日、ピクセル数、シャッタースピード、ISO感度、色空間 etc...

ムービー

コーデック、データレート、サンプリングレート、ビットレート etc...

HTML

タイトル、テキストエンコーディング、ジェネレーター(作成時に使用したアプリケーション) etc...

※イメージ(画像)データのメタ情報は、PhotoshopのファイルブラウザーやiPhoto等において確認する事が可能となっていますが、細部に渡って詳細な情報が記述されています。

その他にも、データの種類に応じて 多岐に渡り様々な情報がメタデータとして記述されており、これらを検索対象に含める事によって、より的確に、スムーズで高速な検索性を実現する事が可能となっています。

これが、Mac OS XのSpotlightのみならず、Googleが先行して公開している「Google Desktop Search」、Yahooによる「Yahoo! Desktop Search」、MSNによって提供され、GA版より名称変更となった「Windows Desktop Search」、或いは次世代Windows(開発コードネーム「Longhorn」)にも実装予定となっている等、近年において注目を集める技術の一つ「メタデータ検索」となります。

尚、メタデータの「メタ」という語は、ギリシャ語において「~について」「超越する」「~の上の」等、特定の事象に対する異なる次元からの観点と定義され、メタデータにおける「メタ」は「~について」、英語における「about」と同義であると解釈しています。つまり、メタデータとは 抽象的ではありますが、データ自体の表現や記述に使用されるデータを指しており、表現される側のデータが対象データ、表現する側のデータがメタデータとなります。

Spotlight検索の核となるインデックスファイル(Terminalを通じたコマンドラインによる制御)

Spotlight検索が有する実用的な特徴の一つとして、検索結果が即座に返ってくる、圧倒的とも言えるレスポンスの速さが挙げられます。

高速な検索を支えるインデックスファイルは、ルートディレクトリー(ボリュームの第1階層)に属する「.Spotlight-V100(不可視フォルダー)」以下に保存されており、このファイルは「Mac OS X 10.4 Tiger」のインストール後、初回起動直後に自動的に作成が開始され、短い場合で数分程度、長い場合だと十数時間といった例も聞いています。

この差は環境によっても相違が出てくる訳ですが、起動ディスク(ボリューム)を初期化した後に「Mac OS X 10.4 Tiger」をクリーンインストールする場合が、最もシンプルにインデックス作成を終えるようです(実際に私は、このプロセスで「Mac OS X 10.4 Tiger」をクリーンインストールしましたが、インデックス作成に要した時間は ほんの数分程度でした)。

一方で、これまでに蓄積していたシステムリソース、データを残したまま「Upgrade Mac OS X(Mac OS Xをアップグレード)」或いは「Archive and Install(アーカイブしてからインストール)」を実行した場合には、前述のように インデックスの作成に長い時間を要する事となり、その間の作業に支障をきたしてしまうケースもあるようです(インデックスの作成時にはCPU使用率も上昇するので、特に業務用途のクリティカルなシステムにおいては、実行するタイミングをずらす等の配慮が必要です)。

尚、初回起動時に限らず、通常の使用時においてもインデックスの作成、或いは更新がイレギュラーな動作をしている(或いは暴走している)と感じた場合には、「Terminal(ターミナル、/Applications/Utilities/Terminal.app)」から以下のコマンドを実行する事により、それまでにストアしてきたインデックスデータを削除、再構築する事が可能となっています(要管理者権限)。

sudo mdutil -E /

その他にもTerminal(コマンドライン)を通じて、インデックス(索引)作成範囲のカスタマイズ、及びストアされているメタ情報の確認等も可能となっているので、機会があれば別のコラムにて紹介したいと考えております。

尚、Spotlightが標準でメタデータ検索の対象範囲としているのはローカルボリュームのみであり、iDisk等のオンラインストレージやネットワークボリューム、及びリムーバブルメディア等からはメタ情報を収集していません。これらのボリュームでは、後述するFinder検索を使用する事によって、ファイル名や修正日、サイズ等に限定されたクラシックな検索を実行する事は可能となっていますが、Spotlightが持ち得るメタデータ検索の恩恵には預かる事はできません。

しかしながら、何れかの事由が生じて 非ローカル(ローカル以外の)ボリュームに対してメタデータ検索を仕掛ける場合には、同様にTerminalを通じて以下のコマンドを実行します。

sudo mdutil -i on /Volumes/Volumename(ボリューム名)

上記のコマンドを実行する事によって、指定したボリュームのインデクシング(索引の作成)を強制的に実行させて、一時的にメタデータ検索を有効化する事が可能ですが、当該ボリュームのマウントを解除(アンマウント)した場合には、作成したインデックスが無効となってしまうので注意が必要です(2005年7月現在)。

そしてこの件に関しては、ユーザーからのフィードバックの一つとして「ローカル以外のボリュームも、メタデータ検索の対象として扱って欲しい」という意見が寄せられているようなので、今後のアップデートにて改善されていく事も期待できます。

尚、ローカルボリューム内であっても、アクセス権によって制限されている領域、不可視ファイル、バンドルパッケージに内包されているコンテンツ等、インデクサーのmdimportがアクセスする事ができないファイルは メタデータ検索のみならず、ファイル名に限定した従来までの検索も行う事ができません。

「sudo」と「su」コマンドについて

※Terminalにおいて「sudo」コマンドを実行すると、当該の実行時に限定してスーパーユーザー(root)(注2)、或いは特定のユーザーの権限で引数指定した任意のコマンドをカレントユーザーの権限(パスワード)で実行する事が可能となります。また、実行後5分以内であれば、パスワードによる認証を伴わずして 再実行する事も可能となっています。

「su」コマンドは、スーパーユーザー、或いは特定のユーザーとして一時的にログインする事になるので、この場合には 該当ユーザーのパスワードが必要となります。Mac OS Xはデフォルトでrootが無効化されているで、これを有効化するためには 以下の何れかのタスクを実行します。

Spotlightの機能自体を停止する

インデックス作成時のCPU負荷に伴うパフォーマンスの低下等により、Spotlightの機能そのものを停止したい場合には、「/etc/hostconfig(/etc/(不可視フォルダ)に属するhostconfig)」をテキストエディターで開き、「SPOTLIGHT=-YES-」行を「SPOTLIGHT=-NO-」に変更する事にします(要再起動)。これによって、Mac OS Xのバックグラウンドに常駐している「mdimport(Spotlightのインデックスファイルを管理しているプロセス)」を無効化します。

尚、hostconfigは「/etc/(不可視フォルダ)」に属するファイルで、テキストエディターにて編集可能です。スーパーユーザーの権限が無くても、Finderから「Go(移動)」>「Go to Folder...(フォルダへ移動...)」を実行し、パスを入力する事によって当該ファイルにアクセスする事ができます)。

TextEditでhostconfigを開く
hostconfig(構成ファイル)を「TextEdit(テキストエディット)」で開いた様子で、最下行の「SPOTLIGHT=-YES-」が 上記の該当箇所となる

尚、本来であれば「System Preferences(システム環境設定)」>「Sharing(共有)」パネルから設定する「File Sharing(ファイル共有)」「Windows Sharing(Windows共有)」「Web Sharing(Web共有)」等の機能も hostconfigからアクセスする事が可能ですが、これはMac OS Xの起動プロセスにも関連しているファイルであるため、GUIが提供されている機能を hostconfigから制御する事は避けた方が良いかと思います。

検索クエリーの入力とインクリメンタルサーチ

続いて、実際の利用シーンを順を追って確認してみます。最もシンプルにSpotlightの機能を呼び出すためには、デスクトップの右上部(メニューバーの右端)に位置するマグニファイングラス(虫眼鏡)のアイコンをクリックします。すると、当該アイコンの下部に 検索語を入力するためのインプットボックスが表示されます。

Spotlightの検索語入力フィールド
Spotlightの検索語入力フィールド。デスクトップの右上部(メニューバーの右端)に位置するマグニファイングラス(虫眼鏡)のアイコンをクリックすると表示される

続いて、上記の入力フィールドに任意の検索クエリーを入力していく事となりますが、ここでは 検索語の入力を1文字追加する毎に、検索結果がリアルタイムに絞り込まれる「インクリメンタルサーチ」が採用されています。この機能は、検索クエリーの語句や綴りが曖昧で はっきりとしない場合、或いはクエリーの先頭数文字の入力にて結果を絞り込む事が可能な固有名詞の検索等において、従来までのプロセス(検索クエリーを入力→検索実行→結果を確認)と比較した場合に、メタデータ検索によって齎される恩恵等も含めて、格段の作業効率の向上を実感する事ができます(使用を重ねれば重ねる程に、その効果を実感する事ができます)。

インクリメンタルサーチ自体は目新しい機能ではなく、「Mac OS X 10.3 Panther」におけるFinder検索、Webブラウザー「Firefox」におけるページ内検索等でも採用されており、今後は各方面の検索機能において導入されていく事が予想されます(既に、次世代デスクトップオペレーティングシステム「Windows Longhorn(コードネーム)」のβ版では、インクリメンタルサーチの実装が確認されています)。

尚、対応するプラットフォームこそ異なるものの、現時点でSpotlightと機能的に競合している「Google Desktop Search」は、これまでの ブラウザーを介したWeb検索のメソッドを用いているため、インクリメンタルサーチには対応しておらず、(Web検索と同様に)検索クエリーや演算子を入力してから検索実行する手順になっています。

「Google Desktop Serch」の検索語入力
「Google Desktop Serch」の検索語入力画面(「Microsoft Internet Explorer 6」on「Windows XP Pro」。Web検索と同様に、検索クエリーを入力し終えてから 検索実行というプロセスとなる

検索結果は項目別に分類された形でリスト表示され、1行目の「Select All(全てを表示)」をクリックする事によって、別ウインドウでの表示が可能となります。

Spotlightの検索結果
項目別に分類された検索結果を 別ウインドウにてリスト表示

このウインドウの右サイドに表示されている「グループ分け」の種類を変更する事によって、日付別や作成者別の分類も可能となる他、分類(グループ)内での表示順序をアレンジする事もできます。

その他にも、イメージファイル(画像ファイル)やPDFドキュメント等は、アイコンをサムネイル(プレビュー)表示にして、検索結果から当該ファイルのコンテンツを視覚的に確認する事も可能となっており、更新時刻の右側に位置する「i」のインフォメーションマークをクリックすれば、ファイル毎の詳細を 当該ウインドウにおいて確認する事も可能となっています。

ここまでが、迅速、且つ容易にSpotlightの機能にアクセスするためのプロセスとなります。上記スクリーンショットにて例示した検索(181件)に要した時間は、約1.5秒でした。

Spotlightの解説は、記事を改めて続きます。次回は、Finder検索、スマートフォルダ等を紹介しつつ、Spotlight検索の2次的な利用方法を紹介していきたいと思います。

本文注

RSS(Rich Site Summary、RDF Site Summary、Really Simple Syndication)」、Atom

ページのタイトルやコンテンツの要約等、Webサイトの更新情報がメタデータとして記述され、配信されているXMLフォーマットの1つ。各種のRSSリーダーにて受信可能。更新状況が一覧表示され、一目にて確認する事ができるので、ニュース系のサイトやブログ等、比較的更新頻度の高いサイトで採用されるケースが多い。尚、RSSには互換性の無い複数のバージョンが存在し、開発者同士が対立する等の問題を抱えている事から、新たな規格として「Atom」が考案され、こちらを標準として統一を計ろうとする動きが出ている。

スーパーユーザー(root)

UNIX系オペレーティングシステムにおけるユーザーアカウントの一つで、全てのファイルに対して無制限にアクセスする事が可能な、最高権限の特権ユーザーを指し示す(「管理者(システム管理者)」と称される呼ばれるユーザーアカウントよりも上位の権限を有する)。

尚、「su」「sudo」コマンドの「su」が、「super user」の略なのか、「select user」の略なのか、或いは「switch user」の略なのか、諸説あるようです。

初版作成日 2005年06月06日
最終更新日 2005年08月12日

関連ポスト

メタデータ検索「Spotlight」-スマートフォルダ、Finder検索

Made on a Mac

Made on a Mac
Mac、Macロゴは、米国およびその他の国で登録されているApple Computer, Inc.の商標です。Made on a MacバッジはApple Computer Inc.の商標であり、同社の許可により使用しています。