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
10Xの検索を10xしたい at 【10X/M3/CADDi】検索エンジン運用勉強会
Search
Ryusuke Chiba
August 18, 2022
Programming
5
1.3k
10Xの検索を10xしたい at 【10X/M3/CADDi】検索エンジン運用勉強会
「【10X/M3/CADDi】検索エンジン運用勉強会」での発表で利用した資料です
Ryusuke Chiba
August 18, 2022
Tweet
Share
More Decks by Ryusuke Chiba
See All by Ryusuke Chiba
10Xの検索を10xしたい at 第49回Elasticsearch勉強会
metalunk
0
480
プログラマのための線形代数 おまけ
metalunk
1
140
メルカリにおける AI 活用事例 PyCon JP 2018
metalunk
8
6.7k
メルカリの機械学習基盤 これまでとこれから ML Ops Study #2
metalunk
0
820
機械学習によるマーケット健全化 Mercari ML Ops Night #1
metalunk
3
5.4k
Other Decks in Programming
See All in Programming
テストコード書いてみませんか?
onopon
2
350
DMMオンラインサロンアプリのSwift化
hayatan
0
200
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
720
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
950
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
9
2.4k
月刊 競技プログラミングをお仕事に役立てるには
terryu16
1
1.2k
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
250
ゼロからの、レトロゲームエンジンの作り方
tokujiros
3
1.1k
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
280
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
400
[Fin-JAWS 第38回 ~re:Invent 2024 金融re:Cap~]FaultInjectionServiceアップデート@pre:Invent2024
shintaro_fukatsu
0
170
令和7年版 あなたが使ってよいフロントエンド機能とは
mugi_uno
11
5.5k
Featured
See All Featured
It's Worth the Effort
3n
184
28k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
How to Ace a Technical Interview
jacobian
276
23k
Mobile First: as difficult as doing things right
swwweet
222
9k
How GitHub (no longer) Works
holman
312
140k
Transcript
©10X, Inc. All Rights Reserved. 【10X/M3/CADDi】検索エンジン運用勉強会 #Search_C10Xm3 10Xの検索を10xしたい @metalunk 1
©10X, Inc. All Rights Reserved. 2 10X が提供する Stailer の説明
チェーンストアECの垂直立ち上げプラットフォーム
©10X, Inc. All Rights Reserved. チェーンストアECの垂直立ち上げプラットフォーム Stailer 3 スーパーマーケットやドラッグストアの E-commerce
アプリ制作からオペレーションまで(詳しくは次のページ) インテグレータでなくプラットフォーム https://yamotty.tokyo/post/20220605 Smart retailer
©10X, Inc. All Rights Reserved. チェーンストアECの垂直立ち上げプラットフォーム Stailer 4
©10X, Inc. All Rights Reserved. 5 半年間で実施した検索改善
©10X, Inc. All Rights Reserved. 半年間で実施した検索改善 2022年1月からの半年間で取り組んだこと • Slow
query の解決(検索速度 10x) • Hardware profile の変更(コスト 80% 削減) • 検索キーワードサジェスト • カテゴリフィルタ • bigram • シノニム辞書を Search time に展開 • イベントログからシノニムルールの生成 今日は青字の部分だけ説明します 6 詳しくは https://product.10x.co.jp/entry/serch-10x https://product.10x.co.jp/entry/search-10x-ii
©10X, Inc. All Rights Reserved. Slow query の解決(検索速度 10x) 解決したい問題
• 張り付く CPU usage • 遅いレスポンス 7 半年間で実施した検索改善 リクエスト増,データ増に伴い増えるコスト
©10X, Inc. All Rights Reserved. Slow query の解決(検索速度 10x) やったこと
• Slow query log を出し,集計 • 遅いクエリを Search Profiler で解析 • クエリを改善する手段を考え,dev で実験 • リリース という ISUCON(今年は予選突破なりませんでした) 8 半年間で実施した検索改善
©10X, Inc. All Rights Reserved. Slow query の解決(検索速度 10x) 結論:
Elasticsearch が自動 mapping してくれた field に問題があった 1. siteType (パートナーの ID) を long 型で保管していた 2. siteType はほとんど全てのクエリで絞り込み条件に使うから,これが遅いとみんな遅い 3. long 型の絞り込みは PointInSetQuery で,木構造だろうからおそらく検索時の時間計算量は O(logN) 4. ドメイン知識を使うと siteType は enum であることがわかる 5. keyword 型にして InvertedIndex を作ると検索時の時間計算量は O(1) 9
©10X, Inc. All Rights Reserved. Slow query の解決(検索速度 10x) 10
半年間で実施した検索改善
©10X, Inc. All Rights Reserved. 検索キーワードサジェスト 解決したい問題 • Zero match
検索が多い やったこと • お客さまを良いキーワードに誘導し,Zero match 検索を減らす(Recall の向上) 11 半年間で実施した検索改善
©10X, Inc. All Rights Reserved. 検索キーワードサジェスト 12 半年間で実施した検索改善
©10X, Inc. All Rights Reserved. 検索キーワードサジェスト 結果 • 12.7% のゼロマッチ検索を削減した
• 検索が使いやすくなった 13 半年間で実施した検索改善
©10X, Inc. All Rights Reserved. 14 2022年1月からの半年間で取り組んだこと • Slow
query の解決(検索速度 10x) • Hardware profile の変更(コスト 80% 削減) • 検索キーワードサジェスト • カテゴリフィルタ • bigram • シノニム辞書を Search time に展開 • イベントログからシノニムルールの生成 今日発表できなかった改善事例は 8/31 の「第49回Elasticsearch勉強会」で発表する予定です https://www.meetup.com/ja-JP/tokyo-elastic-fantastics/events/287299123/
©10X, Inc. All Rights Reserved. 15 いま取り組んでいる推薦
©10X, Inc. All Rights Reserved. いま取り組んでいる推薦 Stailer における商品の Discovery のうち,お客さまが能動的に探す検索はまあまあいい状態になっ
てきたから,次はお客さまに受動的に商品を見つけてもらいたい 16 • 初期リリースでは MLOps 部分をきっちり作り,モデルは簡単なもの(ε-greedy のバンディッ ト)を出す • MLOps を @metalunk, Data science を Growth チームの2人で担当 • 出したらまたどこかで発表します 推薦やるぞ!
©10X, Inc. All Rights Reserved. 17 10X のすゝめ
©10X, Inc. All Rights Reserved. 10X のいいところ10個あげます 1. メンバーが賢い.自律的 2.
心理的安全性が高い(Brilliant jerk がいない) 3. 経営陣が信頼できる 4. SO に夢が持てる 5. スタートアップなのにまあまあ高い給与水準 6. Stailer を作ることで世界をよくできる 7. 事業が成長している 8. 日本のどこに住んでもいい 9. フルリモート OK 10. 家族第一 18
©10X, Inc. All Rights Reserved. カジュアル面談しませんか? この通り,検索はまだ基本的なことしかやっておらず,やることはたくさんあります 検索エンジニアが入社したら活躍できる状態を作りました
どんな人に来てほしい? • Stailer の検索を 10x できる人 • 検索,推薦合わせて Discovery という大きい Issue をまるっとやるのも大歓迎 Job description はこちら: https://open.talentio.com/r/1/c/10x/pages/59532 まずはカジュアル面談お願いします!: https://meety.net/matches/VKrfjFMdjWsC 19