PloneでMS-Officeファイルを検索対象にするプロダクト公開
Plone3からPDFの検索がデフォルトでサポートされました。これはベースOSにxpdfなどを前もってインストールしておくことで可能になります。 CentOSにおいては、popplerというパッケージがあり、それをインストールすれば日本語のPDFも検索対象になります。 ここでいう、検索対象とは、ファイルの中の本文がインデックス化されるかということです。 MS-Wordにおいても、wv(wvWare)をインストールしておくことで、拡張子にxが付かない(xml形式でない物)は検索対象になります。 また、MS-Excel, PowerPoint などを検索対象にさせるプロダクトも存在します。しかしこのプロダクトで使っている、ベースのモジュールが、xlhtmlというもので、2004年頃で開発が止まっているようです。私が試したときには、64bit版CentOSでコンパイルすることが出きませんでした。 さらに、xml形式で保存する、OpenXMLといわれる形式を持つ、MS-Word, Excel, PowerPointやOpenOfficeファイルなどを検索させるために、Products.OpenXmlというPloneのアドオンプロダクトが存在します。 今回、MS-Office関連ファイルの検索をどうしてもしたいという要求と、Plone関連の海外のコミュニティからの情報収集で、これらの検索に注目している人が多く存在しするということがわかり、きちんと使えるものを実装しようという動きになりました。 様々なアプローチを検討した中、Javaのモジュールで有る、Apache POIを使うのが一番いいであろうということになりました。このApache POIは、Apacheライセンスの元で公開されておリ、多くの実績があることもわかり、且つ、うちも取り組んでいるLucen検索エンジンをベースにした、Solrでも使われていることがわかりました。 また、インストールの手順を多くすると、複雑になり、環境によって動かないなどのトラブルも多く発生すると考えました。そのため、POIを同梱(jarファイルにまとめた)して、Ploneのプロダクトとして配布することとしました。 公開サイト: PyPI http://pypi.python.org/pypi/c2.transform.msoffice Plone.org: http://plone.org/products/c2.transform.msoffice なお、動作には、JRE(Java)の実行環境が必要になります。 みなさんテストに協力いただきフィードバックをいただけると助かります。 (Windowds環境にはまだ対応していません) Ploneは、イントラネットを構築するうえで、有効なCMSツールになってきているのだと思います。 追記(2009年12月21日): Plone3.x では日本語の検索が標準でサポートされていません。日本語でファイル検索をするには、Products.BigramSplitter を一緒に入れる必要があります。 さらに、インデックスを作る際の無駄な動きを防止するために、collective.indexing を一緒に使うことをおすすめします。PDF関連
MS-Office関連
c2.transform.msoffice を公開
インストール方法
[buildout]
eggs =
c2.transform.msoffice
zcml =
c2.transform.msoffice$ ./bin/buildout