PDF全文検索システムを構築する理由
PDFに限らずOfficeファイルなど蓄積した文書を一括検索したいのは、情報の利用価値を高めるため当然の要望である。特にPDFの全文検索システムが必要な個人的理由としては以下2つがある。
- 自炊したPDFを全文検索したい(紙の本の電子図書館化)
- 論文のPDFを全文検索したい(英語論文のコンコルダンスにもしたい)
アカデミックな仕事をされている人なら誰しも同じようなニーズを持っているだろう。本記事ではこれを実現する最適解を検討したい。
PDF全文検索システムを構築する方法
PDF(を含む文書)の全文検索システムを構築する方法は大きく2つある。
- サーバー型の文書検索システムを使用する
- デスクトップ検索ソフトを使用する(desktop search)
1に使用するソフトとしてはFESSやHonyomiがある。FESSはJavaでHonyomiはRubyで書かれている。FESSの使用法は以下にまとめてある。

サーバー型を使用するメリットは、検索インデックスを複数のクライアントから共有できることである。デメリットはサーバー構築という手間がかかること、検索結果の表示はブラウザベースのためPDFその他のリッチな文書ファイルの閲覧性が必ずもよくないことである。
一方、デスクトップ検索ソフトには、Copernic Destop Search、Lookeen、DocFetcherなどがある。日本製では探三郎が窓の杜に登録されている。これらについては以下にまとめた。

デスクトップ検索ソフトのデメリットは、検索対象のファイルと検索を実行するPCが少なくともLANでつながっている必要があること、検索インデックスを共有しにくいことなどである(基本的にはクライアントPCごとにインデックス作成が必要)。メリットは導入が手軽であること、検索結果および文書の表示が高速なことである。
これまでに述べたソフトからFESS、Copernic Destop Search、Lookeen、DocFetcherを試した結果、DocFetcherが現時点では最適解だろうという結論に達した。
FESSは検索そのものは非常に優れているが、PDFをブラウザ内で表示できず、基本的にPDFをダウンロードして閲覧する事になる点が使いにくい。
Copernic Destop Search、LookeenはDocFetcherに比べそもそも有料というビハインドがあるが、それをおいても検索結果の信頼性においてDocFetcherの方が優れていた(少なくとも私の日本語PDF環境では)。Copernic Destop Search、LookeenがDocFetcherより優れているのはPDFをアプリの中で美しくプレビューできる点である。DocFetcherはテキストしか表示できない。しかし実際には、ヒットした文書の中で検索キーワードが使われている箇所を順次検索しながら閲覧したいだろう。Copernic Destop SearchやLookeenは表示こそ美しいのだがこの文書内検索がアプリの中で完全に動作しないのである。DocFetcherはテキスト対象だけに完全にこれが動作する。実用性ではDocFetcherが上と考える。
もう一つDocFetcherが優れているのは検索対象を絞りこめることだ。Copernic Destop Search、Lookeenは検索インデックスを作成したら、常にインデックス全体に対して検索を行う。自炊本だけを検索したい、論文だけを検索したいということができないのである。DocFetcherのみがこれを簡単に実施できる。
以上より現時点では、私のように自炊本や論文をデータベース検索したいという用途には、DocFetcherが最適解ではないかと考えている。
コメント