Posts

Showing posts with the label ActiveGroonga

ActiveGroongaを使ってみる (2)

今関わっている某プロジェクトでGroongaを採用したいと思って、色々と読んだりいじったりしています。 Railsアプリケーションに組み込みたいと思っているので、ActiveGroongaを使うのがよさそうだと思って試し始めたのですが、リファレンスがまだComing soonでわからないところがたくさんあったりするので、コードを読みながらちまちまと進めていることをまとめておくことにしました。 この検証では Rails 4.1.5 を使っています。別バージョンだとこの方法では動かないかもしれませんのであしからず。 今回はマイグレーションについて書いています。 マイグレーションスクリプトの定義 マイグレーションスクリプトの実行 テーブルスキーマの確認 マイグレーションスクリプトの定義 前回 の手順でSampleモデルを生成すると、db/groonga/migrate ディレクトリにマイグレーションスクリプトが生成されます。 class CreateSamples < ActiveGroonga::Migration def up create_table( :samples ) do |table| table.timestamps end end def down remove_table( :samples ) end end create_tableの中の書き方(何メソッドを呼べばいいのか)がわからなかったのでGitHubの ActiveGroonga と Rroonga の中身を調べたところ、create_table のブロックの引数に渡される table には、Groonga::Schema::TableDefinition のインスタンスが入っている事が判明。 Groonga::Schema::TableDefinitionのメソッド を呼び出してテーブルのスキーマを定義できるようです。 ということで色々なデータ型のカラムを追加してみました。 class CreateSamples < ActiveGroonga::Migration def up create_table( :samples ) do ...

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...