はじめに
Rails Engineを勉強するネタを探していたところ、
Ruby on RailsでMySQLとMroongaを使って日本語全文検索を実現する方法
という記事が目に入ったので、これをRails Engineにしてみました。
成果物
なんとか動いたのでGitHubに置きました。
作り方
ほぼ記事の通りです。
主な違いは以下の2点です。
- プロジェクト作成時のコマンドを
rails plugin new (エンジン名) --database=mysql --mountable
にする - マイグレーションファイルのテーブル名を
:(エンジン名)_documents
にする
詳細はコミットログをご覧ください。
使い方
MySQLとMroongaがインストールされていれば、
普通のRails Engineとして好きなルートにマウントできます。
参考: インストール — Mroonga v5.09 documentation
詳細はREADMEをご覧ください。
感想
Mroonga用の設定をRails Engineにしておけば、MySQLを使っているRailsアプリに対して
簡単に検索機能を追加できそうなことがわかりました。
このままだと単にRailsアプリの一部分をEngineとして切り出しただけという感じですが、
既存のスキーマからMroonga用のインデックスを作成できるようにするなどすれば
もっと使いやすくなりそうだなあと思いました。
お知らせ
- いい肉の日である11/29(日)(明日!)にGroonga Meatup 2015が開催されます。まだ参加枠に空きがあるようですし、MroongaやRails絡みの発表もあるようなので、興味のある方はぜひご参加ください。
- Groonga Advent Calendar 2015、参加者募集中です!