Monday, October 3, 2016 5:00AM to 11:00AM (UTC) Schedouled down time to change site domain

Recoll――シンプルなインタフェースにまとめられた強力なデスクトップ検索エンジン

 昨今話題になっているツールの1つに、デスクトップ検索エンジンという分野がある。Linux用のデスクトップ検索エンジンといえばBeagleが一番の人気どころだが、その他の選択肢が存在していない訳ではない。そうした中でも特に、操作性に優れて軽量かつ機能豊富なデスクトップ検索エンジンが欲しいという方は、Recollを試してみるべきだろう。

 Beagleとは異なりMonoを必要としないRecollの動作は高速であり、また詳細なユーザ設定を施すことも可能である。Recollのベースとされているのは、完成度の高いオープンソース系検索エンジン用ライブラリのXapianであり、その特徴を簡単にまとめると、フレーズ指定での検索、単語間の近接検索(proximity search)、検索一致率のフィードバック、ドキュメントのカテゴリ化、ブール(論理)検索用クエリ、ワイルドカードを用いた検索など高度な機能のサポートということになる。

 Recollで検索できるのは、通常のプレインテキスト、HTML、OpenOffice.orgドキュメント、Mozilla ThunderbirdおよびEvolutionのメールメッセージ、LyxおよびScribus用のファイルである。またこれらのネーティブフォーマット以外にも、ヘルパーアプリケーションを介することでその他のファイルをRecollに扱わせることもできる。例えばPDFファイルの検索をさせたければXpdfというソフトウェア、Word、PowerPoint、ExcelドキュメントをサポートさせたければAntiwordおよびcatdocというソフトウェアを用意すればいい。こうしたドキュメントの追加サポートに必要なヘルパー用外部アプリケーションを使用するには、各自のディストリビューションに用意されているパッケージマネージャを介して、それぞれ個別にインストールしておく必要がある(利用可能なヘルパーアプリケーションはRecollのWebサイトに一覧されている)。

 Recoll内部で扱うデータはすべてUnicodeのUTF-8フォーマットで格納されるが、その他のキャラクタセット、エンコード、言語で記述されているファイルであっても、同一のインデックス(索引)に収めることができる。

 RecollのWebサイトには、Fedora、SUSE、Ubuntu、DebianなどのメジャーなLinuxディストリビューション用のバイナリパッケージが公開されているので、これらのディストリビューションであればパッケージマネージャを介したインストールが簡単に行えるはずである。インストール完了後にRecollを起動させるには、Applications → AccessoriesメニューにあるRecollを選択するか(Ubuntuの場合)、ターミナルウィンドウからrecollコマンドを実行すればいい。

 Recollを最初に起動させる際には、すべての設定情報を格納するデフォルトの設定ファイル作成についての指示が出されるはずである。RecollにはGUI形式の設定ツールは用意されていないので、こうした設定ファイル類については、すべて手作業で編集する必要がある。とはいうものの、初期設定に必要な手順はRecoll付属のユーザマニュアルに詳しく解説されている。またデフォルト状態のRecollであっても基本設定は既に済まされているので、状況によっては、設定ファイルを初期設定にしたままRecollを使用することも不可能ではないはずだ。

 その他のデスクトップ検索エンジンの例に漏れず、Recollでドキュメントを検索させる場合も事前のインデックス作成が必要である。デフォルト設定でRecollが検索するのは各ユーザのホームディレクトリに収められたファイル群であるが、その他のディレクトリを検索対象として変更ないし追加することもできる。Recollの初回実行時に行われるインデックス作成は完全にゼロの状態から始められるので、処理の完了までには結構な時間待たされることになるかもしれない。Recollが自動作成したインデックスをアップデートさせるには、手作業でrecollindexコマンドを実行すればいい。またcronジョブを用いてrecollindexを自動実行させることも可能だ。あるいは「recollindex -m」コマンドを用いて、ファイルの変更を監視してリアルタイムでインデックス化を進めるデーモンを起動させておくこともできる。

Recoll
Recollによる検索結果(クリックで拡大)

 ファイルのインデックス化作業が終了すれば、Recollによる検索を実行させることができる。基本的な検索を行うには、検索用語(複数指定可)を検索フィールドに入力してSearchボタンを押せばいい。指定された検索用語については“すべて”ないし“いずれか”でのマッチングが行える他、Recollではファイル名を対象とした検索や、ワイルドカードおよびブール(論理)演算子を用いた複雑な検索条件を使用することもできる。Recollのサポートするワイルドカードは3種類である。*ワイルドカードは1ないし複数個のキャラクタ一致を行う(例えばwrit*という指定は、writer、written、writingなどに一致)。?ワイルドカードは1文字分のキャラクタ一致を行う(例えばb?llという指定は、ball、bull、bellなどに一致)。[]ワイルドカードは連続したキャラクタの一致を行い、[a-h]や[1-5]といった範囲指定ができる。ブール記号を用いた論理検索を行いたければ、検索フィールドの横にあるドロップダウンメニューからQuery Languageの項目を選択する。後は、ブール演算子を用いた論理検索の条件を指定すればいい。例えば「from:"tristram shandy" linux AND openoffice -windows」という条件で検索を実行すると、fromフィールド(電子メールメッセージなどの検索を想定)に「tristram shandy」とあり、「linux」および「openoffice」は含むが「windows」は含まないドキュメントがヒットする。

 Advanced Search機能を利用すると、より高度な検索クエリを作成することができる。デフォルトのフィールド(Clauseという名称)に対しては、単語間の近接検索(proximity)、検索用語数の拡張(Add clauseボタンのクリックでフィールドが追加される)、検索対象から除外させる単語の指定、ワイルドカードの使用といった、様々な検索オプションを指定することができる。また検索対象を特定のファイルタイプやディレクトリに制限させることも可能だ。

 Recollによる検索結果は、メインウィンドウに一覧される。検索にヒットした個々の項目については、ファイルタイプを示すアイコンや検索条件との一致率が表示される他、検索一致部の前後にある文章も確認することができる。またこの画面には、2種類のハイパーリンクも表示される。その1つがPreviewリンクで、これをクリックすると当該ドキュメントの簡易プレビューが別ウィンドウに表示され、もう1つのEditリンクをクリックすると編集用アプリケーションに当該ファイルが開かれるので、そのまま内容を編集することができる。

 最後に紹介しておくRecollの便利な機能はTerm Explorerツール(Tools → Term Explorer)で、これは検索したい単語のスペルが思い出せないときに非常に重宝する。この機能の実体はインデックス中にある情報を検索するミニエンジンであり、ユーザによる検索用語の入力を監視して、その単語の派生語を提示するための機能である。

 Recollは、そのシンプルな外見からは想像できないほど完成度の高いデスクトップ検索エンジンである。その能力を完全に発揮させるには、Recollのユーザマニュアルを熟読する必要があるが、その際には操作上のヒントをまとめた「Search tips, shortcuts」セクションが参考となるだろう。

Dmitri Popovは、フリーランスのライターとして、ロシア、イギリス、アメリカ、ドイツ、デンマークのコンピュータ雑誌に寄稿している。

NewsForge.com 原文