INDEX(Topページ) | News & Topics | Glossary | Column List | GuestBook | Link & Profile

第5回 注目のメタデータ検索「Spotlight」〜概要と基本的な使用方法〜

2005年4月29日に200以上もの新機能を追加して登場した「Mac OS X 10.4 Tiger」は、未だ未完成な部分が多いという印象は否めないものの、その機能面での充実度や快適な操作性を考えると、Mac OS Xの過去のメジャーアップグレードの中でも「最も革新的なバージョンアップ」といっても過言ではないと思います。その中でも今回はTigerの目玉機能と称されると共に、業界全体のトレンドともいえるメタデータ検索「Spotlight」について、概要と基本的な使用法を紹介します。


●注目の新機能 Spotlight の最大の特徴といえる「メタデータ検索」とは?

今回より数回に渡って紹介予定とさせて頂いているSpotlight検索を説明しようとする際に、必出とされる項目の一つとして「メタデータ」が挙げられますが、このメタデータとは「データ自身について、ファイル名とは別にデータに関する補足、説明等が記述されたデータであり、Spotlightにおいては、より速く、より的確な検索をサポートするための役割を果たしているもの」という事ができ、ファイル中に含まれるデータの種類の一つといえます。最近Blogの新着情報やSafari、Firefox等によるサポートで注目されている「RSS」や「Atom」(注1)なども、Webページの内容を記述したメタデータを配信するためのフォーマットの一つであり、具体的にどのようなファイルにどういった情報がメタデータとして記述されているかというと、

サウンド

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

イメージ

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

ムービー

使用されたコーデック、データレート、サンプリングレート、ビットレート etc...

HTML

タイトル情報、テキストエンコーディング、Generator(作成アプリケーション) etc...

※画像データのメタ情報はPhotoshopのファイルブラウザやiPhoto上で参照する事ができますが、かなり詳細な情報が記述されている事が確認できます。

その他にもデータの種類によって、多岐に渡り様々な情報がメタデータとして記述されており、これらを検索対象とする事によって「より的確に、無駄なくスムーズな検索」を実現する事が可能となっています。これがMac OS Xだけでなく、既にGoogleが先行して公開している「Google Desktop Search」や、Yahooの「Yahoo! Desktop Search」、MSNが提供していて正式版より名称変更となった「Windows Desktop Search」、或いは次期WindowsのLonghornにも搭載予定となっている等、近年において注目を浴びる技術の1つである「メタデータ検索」となります。

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


●Spotlight検索の要となる「インデックスファイル」の扱い

今回Mac OS Xが採用したメタデータ検索「Spotlight」の特徴の1つは、何といっても入力した結果が即座に返ってくる、圧倒的ともいえるレスポンスの速さでしょう。高速な検索の要となっている「インデックスファイル」は、ルートディレクトリ(起動ボリュームの第1階層)にある「.Spotlight-V100」と称される不可視フォルダ以下に保存されており、このインデックスファイルはMac OS X 10.4 Tigerをインストール後、初回起動直後に自動的に作成が開始され、短い場合で数分程度、長い場合だと十数時間といった例も聞いています。この差は当然環境によって違い出てくる訳ですが、

データを含めて全てのファイルをバックアップ→HDを完全に初期化→Mac OS X 10.4 Tigerのみをクリーンインストール

このパターンが最もシンプルにインデックス作成を終えるようです。実際私は、このパターンでTigerをインストールしましたが、インデックス作成に要した時間はほんの数分程度でした。逆に今まで貯めていた膨大なデータと共に「上書きインストール」或いは「アーカイブインストール」等を行った場合は、前述のようにインデックス作成に膨大な時間を要する事となり、その間の作業に支障をきたしてしまう事も多いようです。(インデックス作成はCPUパワーを消費するので、特に業務で使用するマシンの場合には注意が必要です)尚、初回起動時に限らず、日々の使用時においてもインデックスの作成、および更新が不穏な動きをしている場合、或いは暴走していると感じた場合は「Terminal(ターミナル、/Aplication/Utilities/Terminal.app)」から以下のコマンドを実行する事により、それまでにストアしてきたインデックス関連の情報を削除、再構築する事ができます。(要管理者権限)

他にもTerminalを使用する事により、検索範囲やインデックスファイルの作成範囲をカスタマイズしたり、それまでにストアされてきたメタ情報のリストを見る事も可能ですので、別の機会に紹介したいと思っております。

尚、Spotlightが標準でメタデータ検索の対象範囲としているのはローカルボリュームのみであり、リムーバムルメディアや「iDisk」を含むネットワークボリューム等からはメタ情報を収集していません。これらのボリュームは、Finderからの検索を使えばファイル名や修正日、サイズといった従来までの検索は可能になりますが、Spotlight検索の最大の売りであるメタデータ検索の恩恵には預かる事ができません。

しかしながら、何れかの理由によりローカル以外のボリュームに対してメタデータ検索を仕掛けたい場合は、これもTerminalを使用してのコマンド入力にて、

とする事により、指定したボリュームの索引を強制的に作成させ、一時的に有効にする事が可能ですが、当該ボリュームをアンマウントすると作成した索引データが無効になってしまうので(2005年7月現在)注意が必要です。そして、この件に関してはユーザからのフィードバックとして「ローカル以外のボリュームもメタデータ検索の対象として欲しい」という声が多く挙がっているようなので、今後のバージョンアップ時に改善されていく事も考えられます。尚、ローカルボリューム内であっても「アクセス権によって制限されている領域」や「不可視ファイル」或いは「パッケージ形式の内容」等はメタデータ検索のみならず、通常の検索自体が対象外となっています。

※Terminalにて「sudo」コマンドを使用すると、当該利用時に限りスーパーユーザ(root)(注2)、或いは特定のユーザの権限で引数指定した任意のコマンドを実行する事ができ(カレントユーザのパスワードで実行可能)、実行後5分以内であれば、パスワードなしで再実行する事も可能です。尚、類似のコマンド「SU」は、スーパーユーザ、或いは特定のユーザとして一時的にログインする事になるので、該当ユーザのパスワードが必要となります。この場合、Mac OS Xはデフォルトではrootが無効になっているので、これを有効にするには

のいずれかにて対処します。

ちなみに索引作成時のCPU負荷の問題等、どうしてもSpotlightに馴染めない場合は、/etc/hostconfig(/etc/という不可視フォルダにあるhostconfigというファイルで、テキストエディットで編集可能。スーパーユーザでなくてもFinderの「フォルダへ移動...」にて辿り着けます)にある「SPOTLIGHT=-YES-」という行を「SPOTLIGHT=-NO-」に変更する事により、Spotlightの機能自体を無効にする事も可能です(要再起動)。尚、この作業はMac OS Xのバックグラウンドに常駐している「mdimport」というSpotlightのインデックスファイルを管理しているプロセスを無効化します。
hostconfig on TextEdit.app
↑hostconfigというファイルをテキストエディットで開いたところ。最下行の「SPOTLIGHT=-YES-」という行が該当部分。尚、本来「システム環境設定」から呼び出す「ファイル共有」「Windows共有」「Web共有」といった機能もここからアクセス可能ですが、Mac OS Xの起動プロセスに関連するファイルなので、特別な理由が無い限りはここから変更しない方が良いと思います


●検索語入力とインクリメンタルサーチ

それでは実際の使用法を順を確認してみます。最もシンプルにSpotlightの機能を呼び出すために、画面右上にある虫眼鏡のアイコンをクリックすると、検索語を入力するためのウインドウを表示する事ができます。
Spotlight:検索語入力

続いて上記ウインドウ中に任意の検索語を入力していく事となりますが、ここで特徴的なのが検索語入力1文字追加毎に、検索結果がリアルタイムに更新される「インクリメンタルサーチ」と称される機能を採用している事です。これは「実際に使用してみる事によって初めて良さが分かる」といった類いの機能ですが、検索対象語句や綴りが曖昧ではっきりしない場合、或いは先頭数文字の入力にて検索結果を絞り込み可能な固有名詞等の検索時においては、従来までの、

検索結果を入力→結果を確認→次の作業

といった行程と比較した際に、メタデータ検索による恩恵等も含めて格段の作業効率向上を実感する事ができます。この機能自体はMac OS Xの前バージョン「Panther」のFinder検索や、Firefoxのページ内検索等でも採用されていますが、今後はあらゆる分野の検索機能において、このインクリメンタルサーチが取入れられていく事が予想されており、既に次期Windows「Longhorn」のβ版ではこのインクリメンタルサーチが機能している事が確認されています。尚、プラットフォーム(対応OS)こそ違うものの、現時点でSpotlightと機能的に競合している「Google Desktop Serch」は、従来のブラウザを利用したWeb検索の手法を用いているためか、インクリメンタルサーチには対応しておらず、これまでのWeb検索と同様に「検索語や演算子を入力し終えてから検索実行」という手順になっております。
Google Desktop Serch
↑「Google Desktop Serch」の検索語入力画面(Windows XP Pro)。Web検索と同様に検索語を入力し終えてから検索実行という形になる(クリックで拡大します)

検索結果は項目別に分類された形でリスト表示され、1行目の「全てを表示」をクリックするする事で別ウインドウでの表示が可能となります。(下のスクリーンショット参照)
Spotlight:検索結果
↑クリックで拡大します

このウインドウ内の右側に表示されている「グループ分け」の種類を変更する事により、日付別や作成者別の分類分けも可能となり、分類(グループ)内での表示順序なども変更する事ができます。他にも画像やPDF書類などはアイコンをサムネール(プレビュー)表示する事ができ、更新時刻の右側にある薄い「i」のマークをクリックすれば、ファイル毎の詳細をこのウィンドウ内で確認する事も可能です。

ここまでが最も素早く簡単にSpotlightの機能にアクセスするための方法となり、上のスクリーンショットの検索(181件)に要した時間は約1.5秒位でした。

今回のSpotlightに関する記事は次回にも続きますが、次回はSpotlight検索の2次的な利用法を紹介していきたいと思います。


●本文訳注

(注1)「RSS」や「Atom」

共にWebサイトの見出しや内容の要約等の更新情報がメタデータとして記述され、配信されているXMLのフォーマットの1種。RSSリーダと称されるソフトウェアを用いて受信する事が可能であり、更新状況が1目で把握しやすいので、ニュース系のサイトやBlog等、更新頻度の高いページで採用されるケースが多い。尚、RSSに互換性の無い複数のバージョンが存在し、開発者同士が対立したりする問題を抱えている事等から新たな規格として「Atom」が考案され、こちらを標準として統一を計ろうとする動きが出ている。

(注2)スーパーユーザ(root)

UNIX系オペレーティングシステムにおける特有の呼称で、全てのファイルに対して無制限にアクセスする事が可能な最高権限のユーザ(通常管理者と呼ばれるユーザよりも上)。尚「sudo」コマンドの「su」が「super user」の略なのか、「select user」の略なのか、或いは「switch user」の略なのか、諸説あるようです。


御意見、御感想はこちらまで
Topページへ


Created Date : 05/06/06
Modified Date : 05/08/12