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
0
480
ちいさな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
130
Other Decks in Technology
See All in Technology
運用改善、不都合な真実 / 20240722-ssmjp-kaizen
opelab
17
8k
エンジニア向け会社紹介資料
caddi_eng
14
220k
ABEMAにおけるLLMを用いたコンテンツベース推薦システム導入と効果検証
cyberagentdevelopers
PRO
1
700
CTOから見た事業開発とプロダクト開発 / My Perspective on Business and Product Development as CTO
keisuke69
4
960
テストケースの自動生成に生成AIの導入を試みた話と生成AIによる今後の期待
shift_evolve
0
180
テスト・設計研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
[I/O Extended Android 2024] What`s new in Android 2024
kyeongwan
0
220
公共領域から学ぶ クラウド移行についてエンジニアが意識していること
kawakawa2222
0
140
AOAI Dev Day LLMシステム開発 Tips集
hirosatogamo
15
3.6k
頼られるのが大好きな 皆さんへ - 支援相手との期待の合わせ方、突き放し方 -/For_people_who_like_to_be_relied_on
naitosatoshi
1
290
LINE WORKSへ簡単通知!Incoming Webhookアプリの紹介
mmclsntr
0
110
年間一億円削減した時系列データベースのアーキテクチャ改善~不確実性の高いプロジェクトへの挑戦~
lycorptech_jp
PRO
3
2.9k
Featured
See All Featured
The Brand Is Dead. Long Live the Brand.
mthomps
52
36k
Code Reviewing Like a Champion
maltzj
517
39k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
121
18k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Navigating Team Friction
lara
181
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
Stop Working from a Prison Cell
hatefulcrawdad
266
20k
The Mythical Team-Month
searls
217
43k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
23
1.9k
Building Effective Engineering Teams - LeadDev
addyosmani
47
2.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
17
8.7k
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を つかった 簡単に実装できて満⾜に使って いる ライトユーザーの発表でした