タイトルBrowsing Mac OS X》Sherlockは進歩したか?マルチタスクとそのコントロールカテゴリーBrowsing Mac OS X
作成日2001/4/12 14:58:57作成者新居雅行
Sherlockと言えば、インターネットのメタ検索アプリケーションとしての評価が高いが、忘れてはいけないのは、ファイルの中身を高速に検索する機能がある。Sherlockが登場したMac OS 8.5の頃からすでにその機能はあるものの、いくらかは改良されているとは言え、Mac OS 9.1の時代でもそれほど多く使われているという印象はない。その理由の1つは明白だ。ファイルの内容をいきなり検索するということはさすがに高速に行えない。そこで、ファイルの中身から、文節を考慮しながら単語を抜き出すなど文章のエッセンス部分を取り出し、「索引」データベースを作成しておく。そして、検索の時には逆に検索語から索引を照らし合わせて、対応するファイルを一覧するといった動作を行う。索引を作成する時には、日本語の文法を考慮した解析を行い、キーワードを取り出すような作業を行う。単なるテキストの寄せ集めをするのではなく、複雑な処理をMac OSはこなしている。基本的には辞書を使って作業をするような形態になっているらしいのだが、この辞書についてはかなり注意を払って作っていることは、以前、Appleから説明された。辞書をうまく作ることで、「当たりのいい」検索ができるということなのだ。だが、こうした解析処理を1つ1つのファイルに対して行う必要がある。その処理に時間がかかるのである。Mac OS 9ではハードディスク全体に対して作成していた索引が、部分的な索引作成に対応するなど、かなり使い勝手は上がってきた。ちなみに手前味噌で申し訳ないが、筆者が作っている「Mac OSメール環境」は、メールのメッセージをテキストファイルに保存する形態を取っているが、メールの検索をSherlockで行うことができるので、索引さえ作っておけばメール検索は非常に快適にできた。それでも、時々深夜にえんえんと索引の更新を行うといった運用をうまくしないと使えないものでもあった。索引の更新には時間がかかる以上に、システムに負荷をかけることもある。索引を作成中は、Mac OSの操作にかなり支障が出る。一方、支障がない程度の設定にすると、今度は索引作成に時間が余計にかかる。コンピュータが今の100倍も早いとこんなことでは悩まなくなるのだろうけど、今現在のコンピュータでは、やはりこの種の検索処理を難無くこなすまでには至っていないと言えるだろう。

さて、Mac OS XでもSherlockは入った。シャーロックホームズの帽子のようなアイコンがDockにあるわけで、それなりに高い存在感だ。基本的な機能は、Mac OS 9.1までと変わりはなく、プラグインを利用したインターネット検索と、ファイルの中身の検索機能が用意されている。ファイルの中身の検索では、細かい点ではいろいろと違っているので、それを見て行くことにしよう。
まず、ボリューム全体の索引を作ると形式ではなく、フォルダごとに索引を作るような感じだと思えば良い。Finderは見えないが、索引を作ったフォルダには、.FBCIndexというファイルと.FBCLockFolderというフォルダが作られるので、これらがSharlockのファイルの内容検索の手がかりになるものと思われる。SherlockもMac OS 9.1までのように、いきなり全部のボリュームの索引を作るといった動作は行わない。最初は、自分のユーザ名と同じ名前のホームフォルダの中だけが索引作成対象となっている。索引を作成する対象は、もちろん、後から追加できるが、ボリューム全体に渡って作ることはあまりないと思われる。また、起動ボリュームのSystemなどのようにアクセスが制限されているフォルダもあるので、ホームフォルダ以下を検索対象にするというのは妥当な機能だと言えるだろう。ボリューム全体に渡って索引を作りたいのなら、Sherlockのウインドウに一覧されたボリュームの項目を選択して、「検索」メニューから「今すぐ索引作成」を選択すれば良い。
Sherlockを起動すると、最初はボリューム名が並んでいるのに加えて、ホームフォルダも一覧に加わっているはずだ。そのホームフォルダの表示をよく見ると、すぐさま索引の作成に取りかかっている。また、Finderからフォルダをドラッグ&ドロップするなどして、フォルダを一覧に追加することもできる。こうして、検索対象のフォルダを指定できるのはMac OS 9.1までと同様だが、追加したフォルダについても、すぐさま索引の更新を始める。つまり、Sherlockの起動とともに、フォルダの索引作成を始めるようになっている。もし、この機能を使わないで、手作業で索引作成を開始させたいのであれば、初期設定で自動的に索引の更新を行う機能を切っておけばよい。
いずれにしても、Sherlockを起動することで、索引の更新が行われる。ただし、実際に索引の更新を行うのは、別に起動されたContentIndexingというプロセスだ。Mac OS 9.1まででも別のアプリケーションが起動して索引を更新していたが、Mac OS Xではバックグランドで動くプロセスがそれを行うようになった。気になる索引作成時のレスポンスだが、さすがに何もしていないかのように軽いというわけではない。エディタでキータイプしても、やはり背後で索引作成しいると、レスポンスは悪くなる。ただ、Mac OSの時と違って、一定してレスポンスが悪くなるという感じだ。Mac OS 9.1までだと、まったく反応しない時間帯があるかと思うと、急にキー入力が出てくるという感じだが、Mac OS Xでは全体的に平均して緩慢になる。プリエンティティブなマルチタスクの恩恵といったところだろうか。そこそこレスポンスがいい場合には、索引作成をしながらも他の作業はできるという場合もあるだろう。
ContentIndexingというプロセスが索引を裏でバンバン作るわけだが、Sherlockを終了しても索引作成が完了していないのなら、ContentIndexingは終了されず、実行し続ける。だから、Sherlockを終了しても操作感は重たいままというのは、背後での索引作成は引き続き行うからだ。索引作成をやめたいのなら、Sherlockで索引作成中の項目を選択して「検索」メニューから「索引作成を停止」を選ぶ。すると、索引作成はいったん中断される。ちなみに、その後「検索」メニューから「今すぐ索引作成」を選択すれば、前に中断したところからの索引作成を再開する。こうして、手作業で索引作成をコントロールすることで、とりあえずは、ちょっとずつ索引をアップデートするというのが1つの方法だ。Mac OS 9.1までのSherlockではスケジュールを決めて索引作成ができたが、Mac OS Xではその機能はない。もちろん、なんらかの方法でSherlockを起動すれば、勝手に索引を作るようにはできるわけだ。
ただ、注意をしたいのは、メニュー選択で索引作成を中止しないで、システムを終了した場合である。もちろん、ContentIndexingも終了はするのだが、そのときにそこまでに作った索引情報を書き込んでおくということをしないで、いきなり終了するようなのである。フォルダごとに索引情報が作られているので、フォルダごとに作業が完結しているという予測もできるのだが、再起動して同じフォルダの索引を作る時には、また最初からやっているという具合にしか見えない。どうも、途中まで作った索引情報はシステムの終了によって水の泡になってしまうようで、いずれにしても、手作業で索引作成をとめるというのがとにかく必要なようだ。
また、フォルダに索引情報のファイルを書き込むため、Sherlockで索引を作ると、フォルダの更新日時が更新される。Finderではファイルは見えないので、一見するといつの間にかフォルダの日付けが変わっているという感じだ。だから支障があるというわけではないが、フォルダの日付けが索引作成によって変わることは認識しておくのが良いだろう。

いずれにしても、フォルダ単位で索引作成ができるなど、使い勝手が向上したし、マルチタスクの恩恵もいくらかは享受できそうな雰囲気でもある。やはりそれでも、ある規則(たとえば、カッコで囲ったフォルダなど)を設けて特定のフォルダ以下は索引作成をしないといったオプションは欲しいとも考える。また、索引をスケジュールをきめて作成する機能も手軽に利用したい。その場合、索引の作成開始だけではなく、作成を中止する時間の設定もあるとより使い手があると言える。
関連リンク