ActiveGroongaを使ってみる (1)
今関わっている某プロジェクトでGroongaを採用したいと思って、色々と読んだりいじったりしています。
Railsアプリケーションに組み込みたいと思っているので、ActiveGroongaを使うのがよさそうだと思って試し始めたのですが、リファレンスがまだComing soonでわからないところがたくさんあったりするので、コードを読みながらちまちまと進めていることをまとめておくことにしました。
この検証では Rails 4.1.5 を使っています。別バージョンだとこの方法では動かないかもしれませんのであしからず。
今回はインストール〜モデル生成まで書いています。
インストール
まずはgroongaパッケージをインストールします。
ちなみに、パッケージを入れなくてもActiveGroonga gemをインストールした時にソースからビルドしてくれるようですが、結構時間がかかるみたいです(参考: rroongaを最速でインストールするには)。
パッケージをインストールしたらGemfileに以下を追加して bundle install
します。
gem "activegroonga", require: "active_groonga"
設定
config/groonga.yml
にデータベース格納先を指定します。例えば下記のような感じ。
2014/9/2 追記
コメントいただきました。自分で作らなくても、後述の bin/rake groonga:create
時に自動的にこのファイルができました。自動生成だとDBのパスが db/groonga/#{RAILS_ENV}/db
になるので、パスを変えたい時は自分でこのファイルを用意する、という使い方をすればいいようです。
development:
database: "db/groonga/development/db"
次に config/application.rb
で ActiveGroonga の railtie を require します。require "rails/all"
の下に下記の行を追加しました。
require "active_groonga/railtie"
データベース作成
ActiveGroonga の railtie を require したら rake タスクが使えるようになります。
groonga:create タスクで Groonga データベースを作成できます。
bin/rake groonga:create
モデル作成
model ジェネレータを実行すると ActiveGroonga 用のモデルクラスとマイグレーションファイルができます。
bin/rails g model sample
使い方、あっています!
ReplyDeleteconfig/groonga.ymlは自分で作らなくても、必要になったときに自動で作ってくれるので、その機能を使ってもよいかもしれません!
困ったことがあったことがあればGitHubのIssues( https://github.com/ranguba/activegroonga/issues )で聞いてもらえれば回答します!(日本語でOKです。)
使い方があっていて安心しました:)
Deleteconfig/groonga.yml はgroonga:createタスク実行時に勝手にできるんですね。
本文に反映させていただきました。
コードを見ながら手探りで進めているので、困ったらGitHub Issuersに色々質問させていただきます:D