Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ちいさなRailsアプリのRroonga
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
yoshihara
December 04, 2014
Technology
0
600
ちいさな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
140
Other Decks in Technology
See All in Technology
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
650
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
580
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
370
配列に見る bash と zsh の違い
kazzpapa3
3
160
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.5k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
120
AI駆動開発を事業のコアに置く
tasukuonizawa
1
270
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
110
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.8k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.7k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
エンジニアに許された特別な時間の終わり
watany
106
230k
Six Lessons from altMBA
skipperchong
29
4.2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
170
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
Leo the Paperboy
mayatellez
4
1.4k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
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を つかった 簡単に実装できて満⾜に使って いる ライトユーザーの発表でした