メインコンテンツまでスキップ

MastodonでGroongaを利用して全文検索する

· 約2分
maa123
maa123

MastodonにはElasticsearchを利用した全文検索を行う機能があります。

しかし、ElasticSearchにはある程度メモリが必要、日本語で使うには別に設定が必要で面倒、デフォルトでは自分の投稿しか検索できない、等のデメリットがありました。

GroongaをPostgreSQLから利用可能になるPGroongaというものもありますが、こちらは全ての投稿にindexを貼ってしまうので無駄が増える、PostgreSQLを扱うDBサーバーに負荷がかかってしまう、といった問題がありました。

そのためにGroongaのサーバーを別のサーバーに配置し、それを利用して全文検索を行えるようにしました。

ますとどんちほーでは起動中に変更を加えることを可能にするためにMastodon側ではGroongaの処理を行わないようにしていますが、Groongaを直接使う処理を一度書いてしまったので別ブランチに残してあります。

https://github.com/maa123/mastodon/tree/groonga