DovecotのFTSでのファイル検索に、Apache Tikaを使う
- 2023/02/27
- aikawa
前回はFTSのファイル内検索に、decode2textを使いましたが今回はApache Tikaを使います。
Apache Tikaを使うメリットはサポートしているファイルがdecode2textより遥かに多い事でしょうか。
https://tika.apache.org/1.10/formats.html
でもその分メモリを食いそうですが。
Apache Tika
まずはApache Tikaバイナリをダウンロード
https://archive.apache.org/dist/tika/2.7.0/tika-server-standard-2.7.0-bin.zip
次に解凍してインストール。init.dオンリーなのでsystemdだとエラーが出ます。
unzip tika-server-standard-2.7.0-bin.zip
sh tika-server-standard-2.7.0-bin/bin/install_tika_service.sh tika-server-standard-2.7.0-bin.zipsystemdで起動するにはblob dataが邪魔をして、StandardOutput=nullで回避して色々やっても不安定なので、今回は諦めて手動で起動します。
su - tika -c "/opt/tika/bin/tika start"Dovecot
decode2textを消して、fts_tikaを追加します。
- /usr/local/etc/dovecot/conf.d/90-plugin.conf
plugin {
fts = solr
fts_solr = url=http://localhost:8983/solr/dovecot/
#fts_decoder = decode2text
fts_tika = http://localhost:9998/tika/
}リロードして、再度インデックス化。
※もし起動していなかったり、設定が間違えていたりすると、ここでエラーが出ます。
systemctl reload dovecot
doveadm fts rescan -u aikawa@virtual.localdomain
doveadm index -u aikawa@virtual.localdomain \*RoundCube等で全体を検索して、ファイル内の文字が拾えればOKです。