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
Shinpei.Kondo
May 12, 2023
Programming
0
620
OpenSearchを使って ごちクルの検索画面を爆速にする
for スタフェス Meetup #3 - PJの技術的取り組み公開
https://stafes.connpass.com/event/279671/
Shinpei.Kondo
May 12, 2023
Tweet
Share
More Decks by Shinpei.Kondo
See All by Shinpei.Kondo
8年運用しているCakePHPのECサイトをLaravelにリプレイスした一年後の話
konpay
1
460
Other Decks in Programming
See All in Programming
Quand Symfony, ApiPlatform, OpenAI et LangChain s'allient pour exploiter vos PDF : de la théorie à la production…
ahmedbhs123
0
120
PipeCDのプラグイン化で目指すところ
warashi
1
240
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
590
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
390
VS Code Update for GitHub Copilot
74th
1
580
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
470
Team operations that are not burdened by SRE
kazatohiei
1
290
童醫院敏捷轉型的實踐經驗
cclai999
0
210
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
710
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
350
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
260
エラーって何種類あるの?
kajitack
5
340
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
A Modern Web Designer's Workflow
chriscoyier
694
190k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Agile that works and the tools we love
rasmusluckow
329
21k
Balancing Empowerment & Direction
lara
1
400
Typedesign – Prime Four
hannesfritz
42
2.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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をチームを作り新しい取り組みにも挑戦できるよう になりました。 • 過去の課題の解消や新しいことへの挑戦に興味がある方、ごちクルだと超楽しいで す!!
ありがとうございました!!