- blogs:
- cles::blog

Dovecot の検索バックエンドに Solr を使う


Dovecot は全文検索のバックエンドとして Solr を使うことができる*1ので、設定してみました。
† Solr の準備
Solr がインストールされていなければ Solr をインストールしておきます。
Dovecot のサーバからアクセス可能であれば、負荷分散のために別サーバにデプロイすることも可能です。
インストールが終わったら以下のコマンドで core を作ります。
スキーマは schema.xml を使います。
ほぼデフォルトのままですが、日本語に対応するために一部を text_cjk に変更してあります。
最近の Solr は Managed Schema ですがが、schema.xml からの変換は自動でやってくれるので、conf ディレクトリにコピーするだけで大丈夫です。
これで Solr 側の準備は完了です。
† Dovecot の設定
Solr に続いて Dovecot の設定を変更していきます。
変更する必要があるのは 10-mail.conf と 90-plugin.conf の2つ。
インストール方法によっては fts_solr のモジュールがなかったり、decode2text.sh の位置が違っていたりする可能性があるので、本当にファイルがちゃんとあるか確認を忘れないようにしてください。
設定の変更が終わったら、設定ファイルを再読込させるためにデーモンを再起動しておきます。
† インデックスを作成する
設定しただけではインデックスが空なので、以下のコマンドでインデックスを作成することができます。
問題がなければ Solr にインデックスが作成されているはずです。
ちなみに僕のサーバにはメールが 140 万件ほどあるので、最初の画像のようなインデックス結果になりました。
インデックスの容量は 3.4 GB くらいになっていますが、実用的な速度でメールの検索ができます。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/9551
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110739)
3 . 年次の人間ドックへ(110342)
4 . 2023 年分の確定申告完了!(1つめ)(109896)
5 . 三菱鉛筆がラミーを買収(109794)