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

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