SlideShare a Scribd company logo
0
株式会社リクルートテクノロジーズ インフラソリューション部
中原 裕成
1
リクルート流Elasticsearchの使い方
自己紹介
• 氏名
 中原 裕成
• 所属
 株式会社リクルートテクノロジーズ
ITソリューション統括部
インフラソリューション部
• 担当業務
 Elasticsearchを用いたサービスの運用など
2
もくじ
1. はじめに
 リクルート/リクルートテクノロジーズとは?
2. Elasticsearchの活用例
 Qass / Pusna / サービス可視化
3. Elasticsearchの運用ノウハウ
 Plugin
 Snapshot
 index
 バージョンアップ
4. さいごに
3
はじめに
4
リクルートテクノロジーズとは
リクルートキャリア
リクルートジョブズ
リクルートスタッフィング
リクルート住まいカンパニー
リクルートライフスタイル
リクルートマーケティングパートナーズ
スタッフサービス・ホールディングス
リクルートアドミニストレーション
リクルートコミュニケーションズ
事業会社
機能会社
インフラ部門
大規模プロジェクト推進部門
UI設計/SEO部門
ビッグデータ機能部門
テクノロジーR&D部門
事業・社内IT推進部門
リクルート
ホールディングス
リクルートとは、
主要7事業会社+3機能会社
で構成されるグループ企業群
5
リクルートテクノロジーズの役割
6
開拓
実装、展開運用
テクノロジー
ライフサイクル
≪テクノロジーへの考え方≫
「開拓」「実装・展開」を経た「運用」でリクルートへの利益貢献を行う。
リクルートテクノロジーズの役割
7
広範囲のビジネスに装着
し、効果を最大化させる
ための改善を行い、事業
貢献利益を追究
Rグループのビジネスに短・
中期的に実活用の可能性があ
る技術をリサーチ
対象技術における事業化への
検証を行い、評価・選定する
開拓(実活用研究)
実際に事業へ適用し、
より広範囲に利用す
るための型化やス
キームを構築
実装・展開 運用
実施内容
リクルートテクノロジーズ(短・中期的視野)
利益を目的としない中長期的な視
点に立ち、新技術や新手法の研究/
発明を行い、論文発表することを
目指す
要素基礎技術の研究
社外(中・長期的視野)
技術数の
推移イメージ
年間約200の技術をリサーチし、
約30の技術を評価・選定
年間数個~10個の
技術を展開
運用フェーズまで
移行された技術が蓄積
無数の新技術を研究/発明
Elasticsearchの活用例
8
Elasticsearchを用いたサービス基盤
• 全社検索基盤
 サイト内検索に活用
9
• 全社プッシュ通知基盤
 リアルタイムな検索要
件に活用
• 各サービスの可視化
 検索行動の可視化に活
用
検索
条件抽出
データ取得
Elasticsearchを用いたサービス基盤
• 全社検索基盤
 サイト内検索に活用
10
• 全社プッシュ通知基盤
 リアルタイムな検索要
件に活用
• 各サービスの可視化
 検索行動の可視化に活
用
• 更新性能・検索性能向
上
• サイト毎のカスタマイ
ズ性
• リアルタイムな更新の
利用
• クラスタの運用負荷低
減
• 可視化の運用負荷低減
• アドホックな可視化要
望への対応
全社検索基盤: Qass
Elasticsearchの活用例
11
各サービスサイト 各サービス検索エンジン
検索
これまでのリクルートの検索
• Apache Solrをコアエンジンとした構成
 各サイトが独立した検索エンジンを持つ構成
12
各サービスサイト 各サービス検索エンジン
検索
サイトA
サイトB
これまでのリクルートの検索
• Apache Solrをコアエンジンとした構成
13
各サービスサイト
各サービス検索エンジン
更新
同じ更新を複数台に投げる必要がある
全ノードが全ドキュメントを持つ必要がある
?
検索品質の継続的向上のために
• 個別検索エンジンを全社統一検索基盤へ
 情報を取りまとめて最適な検索結果の継続的提供
14
エンドユーザー 各サービスサイト
定期的(毎日)な
検索品質向上
商品検索
検索基盤へ検索サイトに合った検索結果
検索結果分析基盤
?
検索品質の継続的向上のために
• 個別検索エンジンを全社統一検索基盤へ
 情報を取りまとめて最適な検索結果の継続的提供
15
エンドユーザー 各サービスサイト
定期的(毎日)な
検索品質向上
商品検索
検索基盤へ検索サイトに合った検索結果
Solr構成のままでは
求める検索性能・更新性能に耐えられない
検索結果分析基盤
Solr利用時の課題
16
検索性能
ドキュメント数増加時の
パフォーマンス劣化が心配
更新性能
クラスタ内のノード増加時の
更新結果の反映時間が心配
Solr Elasticsearch
クラスタリング機能を標準装備
ノード間での分散検索が可能※
ノードを跨いだShard同期を標準実装
ノード間での分散更新が可能※
Elasticsearchを採用した新検索基盤の構築へ
※: Solr/SolrCloudでも可能ですが、ES標準でクラスタリング機能があり採用
Solr4.0
リリース
当初
0.9
リリース
当初
全社検索基盤: Qassとは?
• リクルートの全社検索基盤
 Elasticsearchを検索のコアエンジンとして利用
17
エンドユーザー 各サービスサイト
定期的(毎日)な
検索品質向上
商品検索
検索基盤へ検索サイトに合った検索結果
検索チーム
分析内容からの
チューニング
検索結果分析基盤
全社検索基盤: Qassとは?
• 検索品質の継続的向上を行う全社基盤
 自己成長型の検索ソリューション
18
検索結果をQass基盤へ集約
• 検索に関連する情報を一箇所に集積
• 検索結果を横断的に専門家が集約・分析
• 機械学習による検索品質向上 ユーザー行動に応じて
検索品質向上を自動的に行う
検索結果分析基盤
サジェスト基盤
全社検索基盤: Qassとは?
• 検索結果の展開
19
検索結果分析基盤
集約された検索結果の知見を利用
あ 検索
アーモンド
アンテナ
改善効果可視化検索ロジック可視化
検索ロジック可視化
QassでのElasticsearchの使い方
• Qassを中心とした検索エコシステム
20
検索結果分析基盤
改善効果可視化
あ 検索
アーモンド
アンテナ
サジェスト基盤
サイトA
サイトB
全社プッシュ通知基盤: Pusna-RS
Elasticsearchの活用例
21
GCM
Google Cloud Messaging
全社プッシュ通知基盤:Pusna-RS
• プッシュ通知とは?
 スマートフォンアプリを起動していなくても通知を送ることの出来る仕組み
22
Push!
Push!
APNs
Apple Push Notification Service
プッシュ通知の効果
• プッシュ通知は開封率が高い
 メルマガに変わる販促ツールとして注目されている
23
メリット
• 休眠ユーザの再起
• ユーザのアクティブ率向上
• リアルタイムな情報配信
デメリット
• 実装の工数がかかる
• 過剰なプッシュによるユーザ離れのリ
スク
ここに対する取り組みとして、プッシュ
通知基盤を開発
リクルート
Pusna-RSの全体構成
24
デバイス管理
プッシュ配信管理
DynamoDB elasticsearch
登録API SQS 登録worker
配信worker SQS
操作用WebUI
管理API
配信担当者
データ基盤
APNs
GCM
事業サーバ
リクルート
Pusna-RSの全体構成
25
デバイス管理
プッシュ配信管理
DynamoDB elasticsearch
登録API SQS 登録worker
配信worker SQS
操作用WebUI
管理API
配信担当者
データ基盤
APNs
GCM
事業サーバ
デバイス情報や配信情報の
実データの索引として利用
(Doc数:億単位)
Pusna-RSでのElasticsearchの使い方
26
DynamoDB
• Pusna-RSでは複雑なデータ構造が不要
• RDBを使わずに全てのデータをKVSで管理
• DynamoDBはAWSにて提供されるNoSQL
• 信頼性・高速性・高スケーラビリティからマスタとして採用
• 並列スキャンによる高速な全件データ抽出が可能
elasticsearch
• DynamoDBはデータの検索を苦手とする
• 補完するための検索エンジンとして使用
• Solrと同じLuceneベースだが、リアルタイム更新が可能なことから採用。
Pusna-RSでのElasticsearchの使い方
27
登録worker
device/
hotpepper
device/
jalan ・・・
elasticsearch
Device情報Table
hotpepper
Device情報Table
jalan
DynamoDB
管理API
&
配信worker
• 同じデータをDynamoDBとElasticsearchに保存
 用途に応じて適したデータソースを利用
単件&全件
条件指定&検索
各サービスの可視化
Elasticsearchの活用例
28
各サービスの可視化
29
• 各サービスの定量的な指標確認
 用途に応じてデータを整理・投入・可視化
検索結果の分析
検索効果の可視化
サービスノード
log
サービスメトリクス
の可視化
検索結果分析基盤
検索基盤の可視化
30
• 検索基盤チーム側で指標の可視化
 利用者からのフィードバックを検索基盤へ反映
検索効果の可視化
• 検索改善施策で
効果の高いもの
は…
• 高頻度な検索の
ものは…
可視化からの解析 検索基盤へのFB
プッシュ基盤の可視化
31
• デバイス登録状況・配信状況のリアルタイム可視化
 利用者が次のプッシュ配信への改善に活用
• プッシュ後アプ
リ起動の高い時
間帯は…
• アプリ起動の高
いプッシュ内容
は…
可視化からの解析
次回プッシュ配信
への活用
• 配信時間改善
• メッセージ改善
配信担当者
可視化の横展開
32
• 可視化で得た知見を別のデータソースへ横展開
分析・知見獲得
可視化
Reports & Analytics
Webサーバログ
サーバメトリクス
Webビーコン
検索結果
プッシュ利用実績
新たなデータソースの可視化
ログ分析基盤
Elasticsearchの運用ノウハウ
33
Elasticsearch運用ノウハウ
• Plugin機構の利用
 Plugin機構を利用した
検索クエリ改善
 Pluginの動的ロード
 PluginでのA/Bテスト
34
• Snapshot機構の利用
 オンラインバックアッ
プ
 本番環境の複製
• 環境に合わせたIndex
作成
 AWS(クラウド上)環境
 オンプレミス環境
Qass Plugin
ICU Plugin Kuromoji
Plugin
…
Plugin
Alias Alias
Plugin機構の利用
Elasticseachの運用ノウハウ
35
Plugin機構を利用したクエリ改善
• ElasticsearchのPlugin機構を利用
 公式サポートのPluginでIndexing内容を最適化
 Qass独自のPluginでクエリ最適化を実施
36
各サービスサイト
Qass Plugin
• 検索クエリの最適化
• ソート順最適化
などを動的に実施
• 検索クエリは従来通り
ICU/Kuromoji
Plugin
• Indexing内容の最適化
Plugin機構を利用したクエリ改善
• Qass独自のPlugin機構
 独自の機構により無停止のモジュール更新
 サイト運営に影響を与えず検索改善
o 高速な検索軸でのA/Bテスト可能な基盤を整備
37
各サービスサイト
Qass Plugin
検索チーム
検索ロジックA v1
検索ロジックB v1 検索ロジックB v2
検索チームで動的切替
Snapshot機構の利用
Elasticsearchの運用ノウハウ
38
Elasticsearchのバックアップ - Snapshotの内部利用例
• Elasticsearch標準装備のバックアップ機能
 REST API実行で差分バックアップを自動的に実施
39
S3
Disk
プラグインを通して
様々なストレージへ保存可能
REST API
XXXX/XX/01
XXXX/XX/02
差分
差分保存で使用容量効率化
完了までの負荷軽減
Elasticsearchのバックアップ - Snapshotの内部利用例
• Snapshot/Restore APIをJenkinsで定期実行
 実際の検索結果を元に検索改善を実施するクラスタを複製
40
Snapshot API
Snapshots
サービス用クラスタ
検索改善用クラスタ
Restore API
本番同等の内容で
検索改善結果を確認可能な
環境を自動的に生成
Elasticsearchのバックアップ - Snapshotの内部利用例
• 検索改善用クラスタをデータサイエンティストに提供
 データサイエンティストが自由に検索アルゴリズムを操作、確認可能
41
検索改善用クラスタ
データサイエンティスト
アルゴリズムの操作
結果の確認
環境に合わせたIndex作成
Elasticsearchの運用ノウハウ
42
環境に合わせたIndex作成方法
• 環境によって異なるIndex作成方法を採用
 どのような環境でもサービス影響出さず安全な更新が可能
43
AWS環境
サービス用クラスタ
(Blue面)
サービス用クラスタ
(Green面)
Blue-Green Deploy
でクラスタ切替
オンプレミス環境
Index
A
Index
B
Doc
Alias Alias
River:差分更新
Aliasで
Index切替
サービスノードサービスノード
AWS環境でのIndex作成
• AWSの特性を活かしてクラスタごと再構築
 Indexing時のサービスへの負荷なくデプロイ
44
サービス用クラスタ
(Blue面)
サービス用クラスタ
(Green面)
分析基盤
サービス用クラスタ
(Blue面)
サービス用クラスタ
(Green面)
分析基盤
結果分析
クラスタ構築&
分析結果Indexing
結果分析
クラスタ構築&
分析結果Indexing
現行Index現行Index
オンプレミス環境でのIndex作成
• Indexの切替をAliasを用いて実現
 サービス影響を出さずに新しいIndexをデプロイ
45
Index
A
Index
B
Doc
Alias Alias
River:差分更新
Indexer
初期投入
Index
A
Index
B
Alias Alias
Elasticsearch運用時の注意点
46
Elasticsearchの利用バージョン
47
Qass Pusna
利用
バージョン
0.9
1.4
1.5
1.7
出来るだけ最新バージョンを
利用するようにしているが、
リリースサイクルが早く
追いつききれていない
バージョンアップの際はどのような対応が必要か?
Elasticsearchのバージョンアップ
• 0.9 -> 1.7へのバージョンアップ
 2バージョンのクラスタを用意してリアルタイムで移行
48
v0.9 クラスタ v1.7 クラスタ
両方へ書込
v0.9 クラスタ v1.7 クラスタ
片バージョンを切り離し
Elasticsearchのバージョンアップ
• 0.9 -> 1.7へのバージョンアップ
 2バージョンのクラスタを用意してリアルタイムで移行
49
v0.9 クラスタ v1.7 クラスタ
両方へ書込
v0.9 クラスタ v1.7 クラスタ
片バージョンを切り離し
APIやレスポンスが変わっているため、
そのままの移行は不可能
まとめ
50
まとめ
リクルートテクノロジーズではElasticsearchを積極活用中し
ています!
@johtaniが主催するElasticsearch勉強会のスペースも提供して
おり、得られたノウハウはその場で共有していきます!
まずは今回お話した詳しい内容を、次回高林(@tatakaba)が話
す予定です!
51
参考資料
• Qass
 Elasticsearch+Hadoopベースの大規模検索基盤大解剖
 http://www.atmarkit.co.jp/ait/kw/elastic_hadoop.html
• Pusna-RS
 大規模プッシュ通知基盤大解剖
 http://www.atmarkit.co.jp/ait/kw/pushinfra.html
• リクルートテクノロジーズについて
 http://blog.recruit-tech.co.jp/
52
おわりに
53
54
リクルートテクノロジーズでは、
Elasticsearchを始めとした、
“先端技術”を使って一緒に仕事をする仲間を募集しています!
55
www.elastic.co
56

More Related Content

PPTX
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
PDF
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
PDF
異次元のグラフデータベースNeo4j
PPTX
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
PDF
マイクロサービス 4つの分割アプローチ
PDF
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
PDF
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
PDF
インフラエンジニアってなんでしたっけ(仮)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
異次元のグラフデータベースNeo4j
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
マイクロサービス 4つの分割アプローチ
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
インフラエンジニアってなんでしたっけ(仮)

What's hot (20)

PDF
Pythonによる黒魔術入門
PDF
pg_trgmと全文検索
PDF
PostgreSQLアンチパターン
PPTX
世界一わかりやすいClean Architecture
PPTX
Docker Tokyo
PDF
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
PPTX
マイクロサービスにおける 結果整合性との戦い
PDF
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PDF
何となく勉強した気分になれるパーサ入門
PDF
データ基盤グループを支えるチームビルディング
PDF
アジャイルなソフトウェア設計を目指して
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
PPTX
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
PDF
あなたの業務に機械学習を活用する5つのポイント
PDF
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
PDF
イミュータブルデータモデル(入門編)
PPTX
ビッグデータ処理データベースの全体像と使い分け
2018年version
PDF
Test Yourself - テストを書くと何がどう変わるか
PDF
MonotaRO のデータ活用と基盤の過去、現在、未来
PDF
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
Pythonによる黒魔術入門
pg_trgmと全文検索
PostgreSQLアンチパターン
世界一わかりやすいClean Architecture
Docker Tokyo
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
マイクロサービスにおける 結果整合性との戦い
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
何となく勉強した気分になれるパーサ入門
データ基盤グループを支えるチームビルディング
アジャイルなソフトウェア設計を目指して
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
あなたの業務に機械学習を活用する5つのポイント
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
イミュータブルデータモデル(入門編)
ビッグデータ処理データベースの全体像と使い分け
2018年version
Test Yourself - テストを書くと何がどう変わるか
MonotaRO のデータ活用と基盤の過去、現在、未来
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
Ad

Viewers also liked (10)

PDF
Elasticsearch入門 pyfes 201207
PDF
トレジャーデータ 導入体験記 リブセンス編
KEY
AWSを使ったトラッキングログ収集
PPTX
Memcachedの仕組みと設定
PDF
Fluentd meetup #2
PDF
Rails3+devise,nginx,fluent,S3構成でのアクセスログ収集と蓄積
PDF
並行処理初心者のためのAkka入門
PDF
Akka ActorとAMQPでLINEのメッセージングパイプラインをリプレースした話
PDF
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
PPTX
Redisの特徴と活用方法について
Elasticsearch入門 pyfes 201207
トレジャーデータ 導入体験記 リブセンス編
AWSを使ったトラッキングログ収集
Memcachedの仕組みと設定
Fluentd meetup #2
Rails3+devise,nginx,fluent,S3構成でのアクセスログ収集と蓄積
並行処理初心者のためのAkka入門
Akka ActorとAMQPでLINEのメッセージングパイプラインをリプレースした話
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
Redisの特徴と活用方法について
Ad

Similar to リクルート流Elasticsearchの使い方 (15)

PDF
Elastic事例 リクルートテクノロジーズ
PDF
転職会議におけるElasticsearch, Elastic Cloud活用事例
PDF
JJUG CCC リクルートの Java に対する取り組み
PDF
What's New in the Elastic 8.4 Release
PDF
Learn, build, and scale with elastic - realizing great programming experience...
PDF
Elasticsearchの機械学習機能を使ってみた
PDF
Elasticsearch at CrowdWorks
PDF
Building modernapplicationwithelasiccloud
PDF
ElasticSearchでいろいろやってる話
PDF
Elastic Aquia Joint webinar-20211006
PDF
Elasticsearch at Makuake
PDF
Elasticsearch勉強会
PDF
Integrating elasticsearch with asp dot net core
PPTX
Elasticsearch+nodejs+dynamodbで作る全社システム基盤
PDF
Elastic searchとは_エンジニア勉強会20140212
Elastic事例 リクルートテクノロジーズ
転職会議におけるElasticsearch, Elastic Cloud活用事例
JJUG CCC リクルートの Java に対する取り組み
What's New in the Elastic 8.4 Release
Learn, build, and scale with elastic - realizing great programming experience...
Elasticsearchの機械学習機能を使ってみた
Elasticsearch at CrowdWorks
Building modernapplicationwithelasiccloud
ElasticSearchでいろいろやってる話
Elastic Aquia Joint webinar-20211006
Elasticsearch at Makuake
Elasticsearch勉強会
Integrating elasticsearch with asp dot net core
Elasticsearch+nodejs+dynamodbで作る全社システム基盤
Elastic searchとは_エンジニア勉強会20140212

More from Recruit Technologies (20)

PDF
新卒2年目が鍛えられたコードレビュー道場
PDF
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
PDF
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
PDF
Tableau活用4年の軌跡
PDF
HadoopをBQにマイグレしようとしてる話
PDF
LT(自由)
PDF
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
PDF
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
PDF
リクルート式AIの活用法
PDF
銀行ロビーアシスタント
PDF
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
PDF
ユーザー企業内製CSIRTにおける対応のポイント
PDF
ユーザーからみたre:Inventのこれまでと今後
PDF
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
PDF
EMRでスポットインスタンスの自動入札ツールを作成する
PDF
RANCHERを使ったDev(Ops)
PDF
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
PDF
ユーザー企業内製CSIRTにおける対応のポイント
PDF
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
PDF
「リクルートデータセット」 ~公開までの道のりとこれから~
新卒2年目が鍛えられたコードレビュー道場
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Tableau活用4年の軌跡
HadoopをBQにマイグレしようとしてる話
LT(自由)
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
リクルート式AIの活用法
銀行ロビーアシスタント
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
ユーザー企業内製CSIRTにおける対応のポイント
ユーザーからみたre:Inventのこれまでと今後
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
EMRでスポットインスタンスの自動入札ツールを作成する
RANCHERを使ったDev(Ops)
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
ユーザー企業内製CSIRTにおける対応のポイント
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
「リクルートデータセット」 ~公開までの道のりとこれから~

リクルート流Elasticsearchの使い方