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
ちいさな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
"うちにはまだ早い"は本当? ─ 小さく始めるPlatform Engineering入門
harukasakihara
6
610
AI-Assisted Contributions and Maintainer Load - PyCon US 2026
pauloxnet
1
150
パーソルキャリア IT/テクノロジー職向け 会社紹介資料|Company Introduction Deck
techtekt
PRO
0
190
Oracle Cloud Infrastructure presents managed, serverless MCP Servers for Oracle AI Database
thatjeffsmith
1
340
O'Reilly Infrastructure & Ops Superstream: Platform Engineering for Developers, Architects & the Rest of Us
syntasso
0
190
社内RAGの導入で気を付けたポイント
yakumo
1
110
CARTA HOLDINGS エンジニア向け 採用ピッチ資料 / CARTA-GUIDE-for-Engineers
carta_engineering
0
47k
Redmine次期バージョン7.0の注目新機能解説 — UI/UX強化と連携強化を中心に
vividtone
1
140
ESP32 IoTを動かしながらメモリ使用量を観測してみた話
zozotech
PRO
0
140
Purview 勉強会報告 Microsoft Purview 入門しようとしてみた
masakichixo
1
430
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.7k
データモデリング通り #5オンライン勉強会: AIに『ビジネスの文脈』を教え込むデータモデリング
datayokocho
0
280
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
120
Evolving SEO for Evolving Search Engines
ryanjones
0
190
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3k
GitHub's CSS Performance
jonrohan
1033
470k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
370
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
150
How to make the Groovebox
asonas
2
2.2k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
We Are The Robots
honzajavorek
0
230
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
420
Exploring anti-patterns in Rails
aemeredith
3
350
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
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を つかった 簡単に実装できて満⾜に使って いる ライトユーザーの発表でした