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
yoshihara
December 04, 2014
Technology
620
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ちいさなRailsアプリのRroonga
Groongaを囲む夕べ5(
http://groonga.doorkeeper.jp/events/15816
)で発表したスライドです。
yoshihara
December 04, 2014
More Decks by yoshihara
See All by yoshihara
test-unit-night
yoshihara
0
140
Other Decks in Technology
See All in Technology
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
2
250
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
500
React、まだ楽しくて草
uhyo
7
4.1k
Dynamic Workersについて
yusukebe
2
590
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
350
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
860
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
750
Diagnosing performance problems without the guesswork
elenatanasoiu
0
160
AI駆動開発が変える、大規模開発の前提 ーHuman in the Loop から Human on the Loop へ / AIE2026
visional_engineering_and_design
7
5k
Mastering Ruby Box
tagomoris
3
150
LLMと共に進化するプロセスを目指して
ymatsuwitter
11
3k
生成 AI × MCP で切り拓く次世代 SRE!自律型運用への挑戦と開発者体験の進化
_awache
0
150
Featured
See All Featured
Building AI with AI
inesmontani
PRO
1
1.1k
Optimizing for Happiness
mojombo
378
71k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Become a Pro
speakerdeck
PRO
31
6k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
550
How to make the Groovebox
asonas
2
2.2k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Typedesign – Prime Four
hannesfritz
42
3.1k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Crafting Experiences
bethany
1
170
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Six Lessons from altMBA
skipperchong
29
4.3k
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を つかった 簡単に実装できて満⾜に使って いる ライトユーザーの発表でした