よしだのブログ

サブタイトルはありません。

Apache Tika で "なんでもファイル展開" してみる。

どうも!最近、色々といじっている Apache ManifoldCF ですが、その中で Apache Tika を使用しています。Apache Tika とは、word や excel などのバイナリーファイルから、メタデータや本文を抽出することができる便利ライブラリです。一般に検索エンジンが、ファイルサーバーなどにおいてあるファイルの全文検索を実現するために、Tika や類似したツール*1を使用しています。

Solr や Elasticsearch などの検索エンジンは、エンジン側にバイナリーファイルを投げると、Tika で展開しインデックスを作成します。が、Amazon CloudSearch は、おそらく帯域などをセーブする目的で、サービス側では展開してくれません。なので、ManifoldCF 、クローラー側で展開してあげて、SDF にして送信する、という手順が必要になります。

今回は、簡単に Tika を使って、引き渡されたファイルが Tika でサポートされていれば展開する、という言うなれば「なんでもファイル展開」のサンプルを書きました。以下になります。

Apache Tika 1.5 - AutoDetectParser example

簡単でしょ? AutoDetectParser に渡してあげればOKです。

まあ、実は裏はそんなに簡単ではなくて、ビルド時に Maven が大量の jar をダウンロードしてくるのですが。。。その点については次のエントリーで。

*1:有償だと oracle outsidein が有名