Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MTC2018 - メルカリにおける検索サービスの現在と未来

mercari
October 04, 2018

MTC2018 - メルカリにおける検索サービスの現在と未来

Speaker: 杉木 健二, 藺 彦鵬

検索チームでは、昨年からサジェスト・関連ワード・おすすめタブなど、検索機能を開発・改善してきました。世界を目指すチームの紹介と具体的な各機能の開発についてご紹介します。

mercari

October 04, 2018
Tweet

More Decks by mercari

Other Decks in Technology

Transcript

  1. 現在のサーチ基盤 モノリス環境         mercari-api         ・・・     ・・・

    マスタ・スレーブ構成 各サービスに合わせて データ分割 プロキシ 内部で煩雑さを吸収
  2. サーチ内部API ベーシックな設計 QueryBuilder Reranking SolrFetcher PostItemFilter Search Service QueryRewriter    

    パラメータから Solr用のクエリ生成 ロジックABテスト 動的クエリ調整 特定アイテムを 調整・除外 検索フィールド 同義語 トークンフィルタ internal service タイムライン 関連商品など ResultBuilder controller 整形・DBから情報付与 検索パイプライン
  3. batch pipeline (cron likeに日次実行) Kubernetes Engine 関連キーワード 生成 mercari API

    取り込み キーワード 差分削除 関連キーワードのアーキテクチャ(バッチ側; CI/CD) 開発 git push 自動イメージビルド&デプ ロイ slackでバッチ成否通知
  4. ユーザ 検索キーワード アイテム 検索キーワード N x M K x M

    BigQuery ①キーワード検索→アイテムタップのログ取得 ②キーワード正規化 ・NFKC + 小文字化 ・同義語・NGワード・スペースありなし ・タップ回数が一番多い表記に寄せる ③キーワードごとのカテゴリ・ブランド判定 ・タップしたアイテムから情報取得 ・独自UDFで分布歪みを計算 ・検索絞り込みに対応 ⑤2つのモデルを結合 関連ワードが包含関係なら重複排除 ④ スパース行列に変換し、類似度計算 - キーワード, user_id - キーワード, item_id 関連キーワードの生成
  5. QAC built upon microservice platform client API gateway Mercari API

    Sakura GCP QAC QAC K8S Continuous Testing Continuous Building Continuous Delivery QAC quality control service
  6. Keyword Quality Control filter function 1 filter function 2 filter

    function ... filter function ... filter function N recall strategy 1 recall strategy 2 recall strategy ... recall strategy ... recall strategy N QAC (quality control service) matching function
  7. Keyword Quality Control (text matching) filter function 1 filter function

    2 filter function ... filter function ... filter function N recall strategy 1 recall strategy 2 recall strategy ... recall strategy ... recall strategy N バッグ シャインマスカット エロ XXX バッグ シャインマスカット
  8. Keyword Quality Control (semantic matching) matching function keyword item heterogeneous

    network embedding super-bit hashing lucene angle matching
  9. QAC microservice recap client API gateway Mercari API Sakura GCP

    QAC QAC K8S Continuous Testing Continuous Building Continuous Delivery QAC quality control service