Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
ちいさなRailsアプリのRroonga
yoshihara
December 04, 2014
Technology
0
310
ちいさなRailsアプリのRroonga
Groongaを囲む夕べ5(
http://groonga.doorkeeper.jp/events/15816
)で発表したスライドです。
yoshihara
December 04, 2014
Tweet
Share
More Decks by yoshihara
See All by yoshihara
test-unit-night
yoshihara
0
110
Other Decks in Technology
See All in Technology
PUTとPOSTどっち使う?
hankehly
0
180
組織の崩壊と再生、その中で何を考え、感じたのか。 そして本当に必要だったもの
kosako
10
4k
LINEのB2Bプラットフォームにおけるトラブルシューティング2選
line_developers
PRO
3
290
2022年度新卒技術研修「良いコードの書き方」講義
excitejp
PRO
0
300
Citizen 개발기
outsider
0
210
Oracle Cloud Infrastructure:2022年6月度サービス・アップデート
oracle4engineer
PRO
0
110
Istio入門
nutslove
15
4.9k
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
10
18k
Security Hub のマルチアカウント 管理・運用をサーバレスでやってみる
ch6noota
0
790
Custom AppをIP制限ありのままで審査に通す方法
yusuga
0
670
History of the ML system in KARTE
kargo113
0
630
How to start with DDD when you have a Monolith
javujavichi
0
280
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
113
7.4k
Embracing the Ebb and Flow
colly
73
3.4k
Building Applications with DynamoDB
mza
83
4.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
19
1.4k
WebSockets: Embracing the real-time Web
robhawkes
57
5.2k
Music & Morning Musume
bryan
35
4.2k
Designing Experiences People Love
moore
130
22k
The Invisible Side of Design
smashingmag
290
48k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
181
15k
Design by the Numbers
sachag
271
17k
Building a Scalable Design System with Sketch
lauravandoore
448
30k
Gamification - CAS2011
davidbonilla
75
3.9k
Transcript
ちいさなRails アプリの Rroonga よしはら 2014/11/29
自⼰紹介 yoshihara/@hyoshihara04 株式会社万葉
株式会社万葉 社員募集中です! Railsの受託のお仕事中⼼です 現在RailsをやってなくてもOK
本題 Rroongaをつかって Railsアプリで 全⽂検索を実装した 話をします
そのまえに かなり ライトな使い⽅の 話です
そのまえに チュートリアルレベル
アプリ 社内での⽂章公開・議論ツール 簡単に⾔うとブログ
アプリ仕様 Ruby2.1.3 Rails4.1.4 RDB:PostgreSQL(RDS) Rroonga4.0.4 サーバ:AWS
開発体制 メンバー:5⼈ 全員がメイン案件のかたわら実装 開発期間:約6ヶ⽉
Rroongaで実装した機能 記事・コメントの全⽂検索
アプリ規模 ユーザー20⼈弱(万葉社内) 記事数300弱(現在) コメント数が800ぐらい(現 在)
前提 すでにブログとしての機能はほ ぼできてた 全⽂検索機能だけを追加したか った
Rroongaをえらんだわけ 知り合いが
Rroongaをえらんだわけ 「Railsアプリで全⽂検索するの、 Groongaつかってたけど ElasticSearchに乗り換えるわ」
Rroongaをえらんだわけ くやしい
Rroongaをえらんだわけ 既存のサーバ、DBに追加しやす かった 取り回しがしやすい 開発するときも楽
ActiveGroonga? GroongaをRailsのデータストア として使えるライブラリ これを使えばPostgreSQL使わ なくてもいいのでは?
ActiveGroonga? →不採用
不採用の理由 ActiveRecordでよく使う機能が なかった 親に紐づく⼦のレコードを持ってこれ ない Rails4に非対応
直でRroongaを利用 全⽂検索用のクラスを作ってそ こからRroongaの機能を呼び出 す
スキーマ
記事更新時
記事検索時
記事検索時
選定から実装まで 約1⽇(数時間) 2⼈(ほぼ1⼈) 1⼈が実装(はじめてGroonga触る) もう1⼈はサポート(調査)
実装時 Rubyでスキーマかけるのうれし い むずかしい検索したくなったと きも楽そう
実装時つらかったところ スキーマのマイグレーションが ない Productionだと毎回作りなおす ⼿元ではスキーマ変更ごとにDBパス を変えるようにした
実際に全⽂検索してみて 快適 なによりサクッと全⽂検索が実 装できてよかった あまり時間が割けなかったため
サンプルアプリ 発表したブログと同じ流れで 全⽂検索をするRailsアプリのサ ンプル 対象テーブルやカラムの数は減らして います (アプリ本体はOSSにするか協議中) ������������������������������������
まとめ ⼩さなRailsアプリでRroongaを つかった 簡単に実装できて満⾜に使って いる ライトユーザーの発表でした