Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ちいさなRails アプリの Rroonga よしはら 2014/11/29
Slide 2
Slide 2 text
自⼰紹介 yoshihara/@hyoshihara04 株式会社万葉
Slide 3
Slide 3 text
株式会社万葉 社員募集中です! Railsの受託のお仕事中⼼です 現在RailsをやってなくてもOK
Slide 4
Slide 4 text
本題 Rroongaをつかって Railsアプリで 全⽂検索を実装した 話をします
Slide 5
Slide 5 text
そのまえに かなり ライトな使い⽅の 話です
Slide 6
Slide 6 text
そのまえに チュートリアルレベル
Slide 7
Slide 7 text
アプリ 社内での⽂章公開・議論ツール 簡単に⾔うとブログ
Slide 8
Slide 8 text
アプリ仕様 Ruby2.1.3 Rails4.1.4 RDB:PostgreSQL(RDS) Rroonga4.0.4 サーバ:AWS
Slide 9
Slide 9 text
開発体制 メンバー:5⼈ 全員がメイン案件のかたわら実装 開発期間:約6ヶ⽉
Slide 10
Slide 10 text
Rroongaで実装した機能 記事・コメントの全⽂検索
Slide 11
Slide 11 text
アプリ規模 ユーザー20⼈弱(万葉社内) 記事数300弱(現在) コメント数が800ぐらい(現 在)
Slide 12
Slide 12 text
前提 すでにブログとしての機能はほ ぼできてた 全⽂検索機能だけを追加したか った
Slide 13
Slide 13 text
Rroongaをえらんだわけ 知り合いが
Slide 14
Slide 14 text
Rroongaをえらんだわけ 「Railsアプリで全⽂検索するの、 Groongaつかってたけど ElasticSearchに乗り換えるわ」
Slide 15
Slide 15 text
Rroongaをえらんだわけ くやしい
Slide 16
Slide 16 text
Rroongaをえらんだわけ 既存のサーバ、DBに追加しやす かった 取り回しがしやすい 開発するときも楽
Slide 17
Slide 17 text
ActiveGroonga? GroongaをRailsのデータストア として使えるライブラリ これを使えばPostgreSQL使わ なくてもいいのでは?
Slide 18
Slide 18 text
ActiveGroonga? →不採用
Slide 19
Slide 19 text
不採用の理由 ActiveRecordでよく使う機能が なかった 親に紐づく⼦のレコードを持ってこれ ない Rails4に非対応
Slide 20
Slide 20 text
直でRroongaを利用 全⽂検索用のクラスを作ってそ こからRroongaの機能を呼び出 す
Slide 21
Slide 21 text
スキーマ
Slide 22
Slide 22 text
記事更新時
Slide 23
Slide 23 text
記事検索時
Slide 24
Slide 24 text
記事検索時
Slide 25
Slide 25 text
選定から実装まで 約1⽇(数時間) 2⼈(ほぼ1⼈) 1⼈が実装(はじめてGroonga触る) もう1⼈はサポート(調査)
Slide 26
Slide 26 text
実装時 Rubyでスキーマかけるのうれし い むずかしい検索したくなったと きも楽そう
Slide 27
Slide 27 text
実装時つらかったところ スキーマのマイグレーションが ない Productionだと毎回作りなおす ⼿元ではスキーマ変更ごとにDBパス を変えるようにした
Slide 28
Slide 28 text
実際に全⽂検索してみて 快適 なによりサクッと全⽂検索が実 装できてよかった あまり時間が割けなかったため
Slide 29
Slide 29 text
サンプルアプリ 発表したブログと同じ流れで 全⽂検索をするRailsアプリのサ ンプル 対象テーブルやカラムの数は減らして います (アプリ本体はOSSにするか協議中) ������������������������������������
Slide 30
Slide 30 text
まとめ ⼩さなRailsアプリでRroongaを つかった 簡単に実装できて満⾜に使って いる ライトユーザーの発表でした