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
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
160
スタートアップにおけるアジャイルの実践について #shibuyagile
murabayashi
2
1.4k
Terraform 101 (初心者向け) 資料
shuadachi
0
150
Foundry Toolkit + Lemonade Serverでローカルワークフロー開発
seosoft
0
110
デジタル・デザイン:次の50年を描く「進化する青写真」
y150saya
0
680
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
20
8.2k
事業会社は今こそSWEを高給で雇ってWebシステムを内製しよう
masaokb
0
110
初めてのDatabricks勉強会
taka_aki
2
220
Zenoh on Zephyr on LiteX
takasehideki
2
160
AWS Security Hub CSPMの成功・失敗体験
cmusudakeisuke
0
630
トークン最適化のためのユーザーストーリー分析 / User Story Analysis for Token Optimization
oomatomo
0
150
5分でわかる Amazon Connect_20260608
hwangbyeonghun
0
150
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
190
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
First, design no harm
axbom
PRO
2
1.2k
Documentation Writing (for coders)
carmenintech
77
5.4k
Statistics for Hackers
jakevdp
799
230k
Designing Powerful Visuals for Engaging Learning
tmiket
1
430
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
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を つかった 簡単に実装できて満⾜に使って いる ライトユーザーの発表でした