「【10X/M3/CADDi】検索エンジン運用勉強会」での発表で利用した資料です
©10X, Inc. All Rights Reserved.【10X/M3/CADDi】検索エンジン運用勉強会 #Search_C10Xm3 10Xの検索を10xしたい @metalunk 1
View Slide
©10X, Inc. All Rights Reserved. 210X が提供する Stailer の説明 チェーンストアECの垂直立ち上げプラットフォーム
©10X, Inc. All Rights Reserved.チェーンストアECの垂直立ち上げプラットフォーム Stailer 3スーパーマーケットやドラッグストアの E-commerceアプリ制作からオペレーションまで(詳しくは次のページ)インテグレータでなくプラットフォームhttps://yamotty.tokyo/post/20220605Smart 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. 142022年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. 1710X のすゝめ
©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