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
OpenSearchを使って ごちクルの検索画面を爆速にする
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shinpei.Kondo
May 12, 2023
Programming
720
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OpenSearchを使って ごちクルの検索画面を爆速にする
for スタフェス Meetup #3 - PJの技術的取り組み公開
https://stafes.connpass.com/event/279671/
Shinpei.Kondo
May 12, 2023
More Decks by Shinpei.Kondo
See All by Shinpei.Kondo
8年運用しているCakePHPのECサイトをLaravelにリプレイスした一年後の話
konpay
1
530
Other Decks in Programming
See All in Programming
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
160
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
140
A2UI という光を覗いてみる
satohjohn
1
130
Oxcを導入して開発体験が向上した話
yug1224
4
310
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
2
670
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
230
さぁV100、メモリをお食べ・・・
nilpe
0
140
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
170
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
130
AIで効率化できた業務・日常
ochtum
0
130
dRuby over BLE
makicamel
2
340
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
260
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Docker and Python
trallard
47
3.9k
Rails Girls Zürich Keynote
gr2m
96
14k
How GitHub (no longer) Works
holman
316
150k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
320
Skip the Path - Find Your Career Trail
mkilby
1
150
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Design in an AI World
tapps
1
240
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.4k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
210
A designer walks into a library…
pauljervisheath
211
24k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
OpenSearchを使って ごちクルの検索画面を爆速にする
• はじめに • 自己紹介 • ごちクルの過去と現在 • OpenSearchを使った検索速度改善 • おわりに
お品書き
ここ一年でごちクルのチームが大きく改善しました。 その結果、様々な課題を解決できるようになったので、解決した課題の一つとして OpenSearch導入で検索の速度を改善したことについてお話します。 はじめに
自己紹介 • 近藤 心平 (HN.こんぺい) • ごちクルPJ TechPM • 入社2017年
• 社内基盤 → ごちクルPJ • PHPer • 最近0.9才の息子にメガネ壊されました
ごちクルの過去と現在
ごちクルとは • お弁当 / ケータリングを中心とした食のECモール • リーズナブルなお弁当から有名店まで幅広く対応 • 会議弁当やイベント、学校行事などに利用されています •
商品数: 13,000以上 • 2012年から運用
ごちクルの歴史 • 2012年にCakePHPでスタート • 2019年にLaravelへリプレイス ◦ CakePHP 2 -> Laravel
5 ◦ jQuery1.10 -> Vue.js 2.6 • データベースは変更なし
ごちクルの歴史 • リプレイスした後も課題が残っていた • 全体的にレスポンス速度が遅い ◦ 特に検索画面の速度が遅い • ユースケースに沿っていないUI •
非同期通信が多くいろんな所でローディングが多い • など
ごちクルチーム エ ン ジ ニ ア こんどう backend PdM PMM
ドメインマスター PdM 冷静さNo1 PdM SEO担当 PdM 営業 カスタマー サクセス 商品開発 デザ イナー エンジニアに理解力の高いデザイナー 関連部署 これまでのごちクル エンジニアは僕一人 ... 若手のエース backend
採用が進みチームが拡大!! 修正 現在のごちクル 元CTO PL / backend 猫好き backend /
frontend 大阪在住 backend / frontend 若手のエース backend UX Enhancement Growth & Engagement エ ン ジ ニ ア こんどう backend 育休復帰即活躍 frontend SEO担当業務委託 backend / frontend 業務委託 backend / frontend PdM PMM データ分析強い PMM ドメインマスター PdM 冷静さNo1 PdM SEO担当 PdM 福岡在住 PMM 営業 カスタマー サクセス 商品開発 デザ イナー エンジニアに理解力の高いデザイナー 関連部署
直近の改善例 OpenSearchを使った検索速度改善
ごちクルの歴史 • リプレイスした後も課題が残っていた • 全体的にレスポンス速度が遅い ◦ 特に検索画面の速度が遅い • ユースケースに沿っていないUI •
非同期通信が多く画面上でローディングが多い • など この改善について深掘りします。
ごちクルの検索とは • お弁当の検索 ◦ 社内会議で◦月◦日にn個お弁当が必要 ◦ どんなお弁当があるのか調査 (購入するかは不明) • 全文検索が遅い
◦ 2012年からデータ構造が変わっていない ▪ アプリケーションが改善しても、 DBの改善は行われておらず結果として、 indexが効かない、 大量のJOINが発生するなどで商品検索が遅い ▪ 頑張ってRDBで実装していた
OpenSearchの導入による課題解決 テキスト検索が早い 複雑なSQL joinが多く index効かない n+1の発生 負荷 レスポンス速度↓ スケールが楽 構造変化に柔軟に対応できる
それ以外にもメリットが!
検証段階ですが、検索速度が10倍早くなった! OpenSearch導入の効果 • 期待される効果 ◦ 検索を利用しやすくなることで、離脱が減りエンゲージメントが向上する ◦ RDBに検索クエリが流れなくなることで、 DB負荷削減やデータ構造のリファクタリングなどが行いや すくなる
• 今後期待できる効果 ◦ 位置情報検索と言った新たな検索を追加できるようになる
おわりに • ex-CTO等強いエンジニアのJOINで、これまで着手できなかった課題の改善が進み 始めました。 • 過去の課題の対応だけでなく、UXをチームを作り新しい取り組みにも挑戦できるよう になりました。 • 過去の課題の解消や新しいことへの挑戦に興味がある方、ごちクルだと超楽しいで す!!
ありがとうございました!!