Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

BUYMAの商品検索システムの改善の取り組み

7,166 views

Published on

https://atnd.org/events/87466

商品検索システムをSolrCloudへリプレースし性能を強化した後、データ解析基盤をBigQueryに移行してデータドリブンで機能面でも商品検索を改善してきたことについてお話します。

Published in: Engineering
  • Be the first to comment

BUYMAの商品検索システムの改善の取り組み

  1. 1. BUYMAの商品検索シ ステム改善の取り組み 株式会社エニグモ 木村 kimura[at]enigmo.co.jp 2017/5/23, ヒカ☆ラボ
  2. 2. 自己紹介 • 所属 • 株式会社エニグモ • サービスエンジニアリング 本部 • 基盤開発グループ リード エンジニア • 入社4年目 • 最近 • 検索システムの改善 • レコメンドエンジン の開発
  3. 3. BUYMAに ついて
  4. 4. BUYMAのインフラの規模感 • 基本的にオンプレミス • サーバー台数:物理約70台、論理200台強 • 一部クラウド化 • AWS、Akamai、GCP • 脱オンプレへと進行中
  5. 5. もくじ • 商品検索システムの耐障害 性の向上 • キーワード検索の精度向上
  6. 6. 商品検索システムの 耐障害性の向上 関連ブログ記事: https://goo.gl/RYdvnn
  7. 7. 商品検索の構成(改善前)
  8. 8. 商品検索の構成(改善前)
  9. 9. 問題点 • 単一障害点だらけ • Solrが1つでもダウンすると検索も更新もエラー • 障害時にIP管理ファイルのデプロイが必要 • 更新バッチも冗長化してなかった • 復旧が大変 • Solr同士のデータを揃えるのが大変
  10. 10. SolrCloudの 導入
  11. 11. SolrCloudにしたわけ • 他にもMaster-Slave構成とかありますよね? • Masterを冗長化しないと単一故障点に • Solrへの間にLBを挟めばいいのでは • LBを冗長化しないと単一故障点に
  12. 12. rsolr-cloud • SolrCloudの対応のrubyク ライアントを自作 • gemとして公開 • fluentdやlogstashのプラ グインにも取り入れられ ている
  13. 13. キーワード検索の精度向上
  14. 14. キーワードと関係 ないのがたくさん 出てくる問題
  15. 15. 出品者によるサイト内SEO • 商品コメントの下の方にキーワードを自然に 散りばめるテクニック 結婚式シーズンに向けてドレスやワンピー ス、クラッチバッグ、ヘアアクセサリーな ども取り揃えております。 この他にも、パンプス、サンダル、スニー カー、ブーツなど足元のアイテムも続々入 荷中!
  16. 16. キーワードへの関連度をソート に取り入れた • 以前は商品人気度(秘伝の算出ロジック)での単純なソ ート(クエリ非従属) • solrのクエリーパーサーをedismaxにしてスコアでソート • フィールドごとにスコアの重み付けを指定可能 • e.g. カテゴリ名のフィールドにヒットしたら上位に • 従来の人気度もboost function (bf) で利用
  17. 17. 形態素解析を導入 • 「ファー」で検索しても「サーファー」や「フ ァースト」などは上位に来なくなった。 • ユーザー辞書の管理ツールも作成 • シノニム辞書も導入して同義語の差異を吸収 • iPhone、アイフォン、アイホン、アイフォー ン
  18. 18. 秘伝のタレを壊してしまう怖さ • そこそこ上手くいっていた従来の商品人気度(秘伝のタレ ) • 問題ないキーワードが逆に悪くならないの? • 改善したとしてどのぐらいCTR良くなったの? 検索条件ごとのCTR計測が必要に
  19. 19. CTR計測の仕組み
  20. 20. 計測すると安心して修正できた • 感覚ではなく数値でロジックの正当性を裏付けられる • 良くわからないけど上手くいってた秘伝のタレにも手 を加えられる • 微妙なsolrのクエリパラメータチューニングの効果測 定も可能 • ABテストによる比較も可能
  21. 21. 今後 • 検索のUIUXも改善していきたい • BigQueryのデータを幅広く活用していく • 機械学習 • データ解析など
  22. 22. エンジニア募集中です

×