Windows TIPS
[Office Master]
  Windows TIPS TOPへ
Windows TIPS全リストへ

Outlookのフルテキスト検索処理を100倍高速化する(Lookoutアドインを活用する)

解説をスキップして操作方法を読む

デジタルアドバンテージ
2004/08/28
 
対象ソフトウェア
Outlook 2000
Outlook 2002
Outlook 2003
Outlookのフルテキスト検索は遅い。大量のメールを送受信するヘビー・ユーザーにとっては、あまり頼りにできない存在である。
米Microsoftは、LookoutというOutlookのアドインを無償公開した。これはOutlookデータのインデックス検索を可能にするアドインで、検索速度を劇的に向上させる。
提供されているのは英語版のみで、日本語環境では一部問題も生じているが、注意して使えば十分実用になる。
 
解説

 電子メールや予定表、アドレス帳などといった個人情報管理ツールとして、OfficeのOutlookを利用しているユーザーも多いだろう。マイクロソフトは無償版のメール・ソフトウェアとしてOutlook Expressを提供しているが、こちらはメール(およびNetニュース)のみの単機能で、予定表管理機能などはない(以下、Office Outlookを単に“Outlook”と表記する)。

 特にOutlookは、コラボレーション・サーバのExchange Server、ポータル・ソリューションのWindows SharePoint Services/SharePoint Portal Serverなどのミドルウェアとの連携機能を持っており、これらのサーバ・ソフトウェアと組み合わせるクライアント・ソフトとして全社的にOutlookを採用している場合もあるだろう。

 当然ながらOutlookでは、過去に受信したメールや予定表、ToDo(仕事)など、Outlookに保存されたすべてのデータからのフルテキスト検索機能が提供されている。しかしこの検索は非常に低速で、特に日々大量のメールを受信するヘビー・ユーザーにとってはあまり実用的とはいえなかった。

 うれしいことに、先ごろ米Microsoftは、Outlook 2000、XP、2003のフルテキスト検索機能を劇的に向上させるアドイン・ソフトを無償公開した(対象OSはWindows 2000、Windows XP、Windows Server 2003)。これがLookoutである。もともとLookoutは、同名(Lookout Software)の会社が開発したサードパーティ製品だったが、米MicrosoftがこのLookout Software社を買収し、同社のダウンロード・サイトでLookoutを無償公開することになった。

 英語版のみの提供で、メニュー・メッセージやヘルプはすべて英語だが、一部不具合があることを除けば(詳細は後述)、基本的に日本語環境にインストールして利用することができる。

 ただしLookout v1.2は.NET Framework 1.1ベースのマネージ・コードで開発されており、インストールするにはあらかじめ.NET Framework 1.1をインストールしておく必要がある。

Outlookの利用法をも変えてしまう高速検索

 筆者も数年来のOutlookユーザーで、すでにデータ・ファイルは1.7Gbytesを超えており、受信メールの総数はざっと7万件に達している。日々のバックアップも大変なので、古いメールは整理しなければと思いつつ、つい使い続けてしまっている状態だ。とりわけ筆者はだらしないとしても、似たような状況の読者もいらっしゃるだろう。

 送受信メールは、日々の作業の活動履歴であり、個人用の知識ベースである。「半年前に提出した類似の見積書を見つけたい」とか、「ユーザーが以前に問い合わせてきた質問内容が何で、それに自分はどう答えたのか」とか、「登録したままほうっておいたWebサイトのユーザー・アカウント情報は何だったか」など、メールを捨ててさえいなければ、Outlookデータのどこかにメッセージが残っているはずだ。

 こんなときに頼りになるのはOutlookの検索機能である。Outlookにはフルテキスト検索機能があるので、ヒットしそうな文字列を指定して検索すれば、目的のメッセージを見つけることができる。

 しかし問題はその速度だ。筆者のように大量のメッセージが保存されていると、検索が完了するまでに何分もかかるということが珍しくない。検索対象のフォルダを絞り込むなどして時間の節約に努めるのだが、それでも事態を大幅に好転させるのは困難だ。特に古いメッセージを探す場合は、対象となるフォルダの記憶も曖昧になっており、長い待ち時間を覚悟しなければならない(筆者は、月ごとのフォルダを作り、適当なタイミングで過去のメールを受信トレイから月別のフォルダに移動している)。

 Lookoutをインストールすると、こうした検索のフラストレーションがすっきり解消する。簡単にいえば、Lookoutは、検索対象となるデータの検索インデックスをバックグラウンドで作成しておき、このインデックスを利用して高速な検索を実現している。検索対象はOutlookのデータ・ファイル(電子メール、予定表、住所録など)やExchange Serverのデータ、POP/IMAP/PSTファイル(個人用ストレージ)、パブリック・フォルダに加え、ローカル/ネットワーク・フォルダにある通常のファイルも含めることが可能だ。


操作方法

 Lookoutをインストールすると、Outlookのツール・バーにLookoutツールが追加される。

Outlookのツール・バーに追加されたLookout
このツール・バーから検索を実行できるのだが、環境によってこのテキスト・ボックスでは、かな漢字変換を有効にできず、日本語が入力できない場合がある。
  検索用ダイアログを表示する。
  検索文字列を入力する。ただし環境によっては日本語を入力できない。
  インデックス作成用ダイアログを表示する。
  オプション設定ダイアログを表示する。
  ヘルプ・ドキュメントやインデックス作成時のログなどを表示する。

 ただし、最初はLookoutにインデックスを作成させなければならない。普段のインデックス作成は自動的にバックグラウンドで実行され、日々の更新では、追加・更新されたデータのみインデックスが作成されるのだが、最初は少々時間をかけて全体のインデックスを作成しなければならない。

 手作業でインデックスを作成するには、ツール・バーの[Indexer]ボタンをクリックする。すると次のダイアログが表示される。

Indexerダイアログ
インデックス作成をマニュアルで実行したり、インデックスの再ビルドを指定したりする。
  このボタンをクリックすると、インデックス作成が開始される。
  既存のインデックスを廃棄して、インデックスを再構築する場合にチェックする。

 ここで[Start]ボタンをクリックすれば、デフォルト設定でのインデックス作成が開始される。

 こうしていったんインデックスを構築すれば、以降は新しいデータに対するインデックスだけが定期的に追加されるようになる。この処理はバックグラウンドで実行される。Lookoutをインストールすると、一定のタイミングで次の通知が表示される。

バックグラウンドでのインデックス作成時に表示される通知
「インデックスをバックグラウンドで更新しています」と書いてある。一定のタイミングでこの通知が表示され、適宜インデックスが追加される。

 インデックスの作成が完了すれば、検索が可能になる。Outlookのツール・バーに追加されたLookoutのテキスト・ボックスを使ってもよいが、前述したとおり、環境によっては、ここで日本語を入力できない場合がある(編集部でテストしたところでは、入力できる場合もあった。原因は不明である)。

 この場合はLookoutツール・バーの[Search]ボタンをクリックして、検索用のダイアログを表示させる。

[Lookout Search]ダイアログでの検索
このダイアログのテキスト・ボックスなら日本語も入力できる。
  検索文字列を入力する。ここなら環境によらず日本語入力が可能。
  検索対象を絞り込む場合に使う。
  検索を開始する。
  検索結果。この例では“Watanabe”という文字列を含むメッセージを検索した。

 これは“Watanabe”という文字列を含むメッセージを、前述した7万件超のメッセージから検索したところだ。Mobile Pentium III-1.06GHz搭載のノートPCでは、約10秒で検索は完了した。同じ検索処理をOutlook 2003標準の検索機能を使って検索したところ、約23分(=1380秒)かかった。その差は歴然である。Outlookの使い方も変わろうというものだ。

 検索対象を変更・追加・削除したり、各種オプションを指定したりするには、Lookoutツール・バーの[Options]ボタンをクリックする。

Lookoutのオプション設定ダイアログ
検索対象やインデックスの作成間隔などを指定する。
  ローカル・ディスクのマイ・ドキュメントを検索対象とするときにはチェックする。
  SharePointフォルダをインポートしている場合は、SharePointフォルダも検索対象に追加できる。
  メールや予定表などが保存されているフォルダ。デフォルトで選択されている。
  インデックスの更新間隔を指定する(デフォルトは60分)。
  インデックスの再ビルドの間隔を指定する(デフォルトは7日間)。
  インデックス作成処理の実行時間帯を指定する場合に使う。

日本語文字列の検索では一部検索もれが発生

 日本語の表示も、日本語文字列の検索も実行できるのだが、評価したところ、現バージョンのv1.2では、日本語で検索すると、検索もれが発生する場合があった。例えば「外注」という文字列をLookoutとOutlook標準の検索機能で検索して結果を比較すると、Lookoutで検索されないメッセージがあった(見つかるメッセージもある)。残念ながら原因は不明である。しかし英単語の検索は問題なく実行できているようだ。

 筆者はLookoutが公開されてすぐにインストールして、あまりに劇的な検索処理の向上に驚喜し、すぐにこの記事を執筆しようと考えた。しかしその後、日本語文字列の検索もれが発生することが分かり、実用性をもう少しじっくり評価してみようと考えた。

 結果は、多少の欠陥はあるにせよ、使い方次第で十分役に立つと判断し、今回の記事公開に至った。本文中でも触れたとおり、Lookoutには、Outlookの活用法を根本から変える力がある。少なくとも熟練ユーザーである本稿の読者なら、欠陥を運用で少しだけカバーしてやれば、貴重な時間を飛躍的に節約してくれる。Lookoutはそんなソフトウェアである。End of Article

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間