Successfully reported this slideshow.
Your SlideShare is downloading. ×

サービスのスケール化のための検索システム改善

サービスのスケール化のための検索システム改善

Download to read offline

エンジニアの力でサービス・組織をスケール化させるには?〜Web現場MeetUP #2 〜
で発表した資料です。
ピクスタで活用しているAWS CloudSearchの裏側を紹介します。

エンジニアの力でサービス・組織をスケール化させるには?〜Web現場MeetUP #2 〜
で発表した資料です。
ピクスタで活用しているAWS CloudSearchの裏側を紹介します。

More Related Content

Slideshows for you

サービスのスケール化のための検索システム改善

  1. 1. サービスのスケール化のための 検索システム改善 ピクスタ株式会社 星直史 16545027 Photo by Fast&Slow
  2. 2. 自己紹介 2017年1月より、開発部のマネージャーに就任。 開発部の方針策定や、組織作りに取り組んでいる。 星直史 @NaoshiHoshi ピクスタ株式会社 エンジニア マネージャー Rails歴7年 AWS歴7年
  3. 3. 自己紹介 Serverless Framework Redash
  4. 4. ● PIXTAにおける海外対応(地域別加点) ● シノニム / トークナイズ対応 今日話すこと 国際化対応 ● 料金体系 ● 原因と対策 ● コスト削減効果 コスト削減
  5. 5. ● PIXTAにおける海外対応(地域別加点) ● シノニム / トークナイズ対応 今日話すこと 国際化対応 ● 料金体系 ● 原因と対策 ● コスト削減効果 コスト削減
  6. 6. PIXTAのご紹介 2,860万点以上
  7. 7. 多言語対応 NEW!!
  8. 8. 人物カテゴリ結果 日本 海外(欧米) 海外対応
  9. 9. 野菜・食材カテゴリ結果 日本 海外(欧米) 海外対応
  10. 10. ロケール別のスコアリング 海外対応 200点 20点
  11. 11. 検索順位の算出 海外対応 東京 中国 ヨーロッパ 素材 A 素材 B 素材 C 素材Aの地域 素材Bの地域 素材Cの地域 0km 検索した人からの距離 3000km 検索した人からの距離 20,000km 検索した人からの距離 東京 検索した人の地域 IPを元に緯度経度を算出 => =>
  12. 12. CloudSearchの活用 海外対応 (200 * pow(0.98, ((haversin(36.204824000, 138.252924000, location.latitude, location.longitude) / 50))))
  13. 13. ● PIXTAにおける海外対応(地域別加点) ● シノニム / トークナイズ対応 今日話すこと 国際化対応 ● 料金体系 ● 原因と対策 ● コスト削減効果 コスト削減
  14. 14. Tokenizeとは? 国内対応 国内検索においては、日本語のタグ情報を検索ヒットの条件としている => bigramで分かち書きに。デフォルトのkuromojiトークナイズでは きゃ => 動詞 べつ => 名詞 きゃべつが Tokenizeされてしまう。
  15. 15. Tokenizeの対応 国内対応
  16. 16. 表記揺れの対応 国内対応
  17. 17. ● PIXTAにおける海外対応(地域別加点) ● シノニム / トークナイズ対応 今日話すこと 国際化対応 ● 料金体系 ● 原因と対策 ● コスト削減効果 コスト削減
  18. 18. Partition* 10 Replication * 3
  19. 19. ● PIXTAにおける海外対応(地域別加点) ● シノニム / トークナイズ対応 今日話すこと 国際化対応 ● 料金体系 ● 原因と対策 ● コスト削減効果 コスト削減
  20. 20. ● 課金項目 ● 使用料内訳 料金体系
  21. 21. ● 課金項目 ● 使用料内訳 料金体系
  22. 22. ● 検索インスタンス数 ● ドキュメントバッチアップロード ● IndexDocumentsリクエスト ● データ転送 課金項目
  23. 23. ● 課金項目 ● 使用料内訳 料金体系
  24. 24. 使用料内訳
  25. 25. ● PIXTAにおける海外対応(地域別加点) ● シノニム / トークナイズ対応 今日話すこと 国際化対応 ● 料金体系 ● 原因と対策 ● コスト削減効果 コスト削減
  26. 26. ● インスタンス数は何によって決まるか ● インスタンス数を減らすには 原因と対策
  27. 27. ● インスタンス数は何によって決まるか ● インスタンス数を減らすには 原因と対策
  28. 28. ● スケーリングによって決定する ○ トラフィック ○ 総データ量 検索インスタンス
  29. 29. ● インスタンス数は何によって決まるか ● インスタンス数を減らすには 原因と対策
  30. 30. インスタンス数を減らす
  31. 31. インスタンス数を減らす ● フィールドそのものを消す
  32. 32. インスタンス数を減らす ● フィールドそのものを消す
  33. 33. インスタンス数を減らす ● フィールドそのものを消す ● 不要なOptionを消す
  34. 34. 不要なOptionを消す
  35. 35. 不要なOptionを消す
  36. 36. 不要なOptionを消す
  37. 37. ● PIXTAにおける海外対応(地域別加点) ● シノニム / トークナイズ対応 今日話すこと 国際化対応 ● 料金体系 ● 原因と対策 ● コスト削減効果 コスト削減
  38. 38. コスト削減効果
  39. 39. コスト削減効果
  40. 40. Partition* 10 Replication * 3 Before
  41. 41. Partition* 10 Replication * 3 Partition* 2 Replication * 3 Before After
  42. 42. まとめ 料金体系 原因と対策 コスト削減結果
  43. 43. 才能をつなぎ、 世界をポジティブにする We're hiring! 7336449 Photo by Sunny studio

×