第7回Elasticsearch勉強会の資料を読む
Elasticsearch勉強会(Elastic Tokyo User Group) #elasticsearchjp というものがあり、今までに20回以上勉強会が開催されている。
Elasticsearch勉強会の資料をまとめてくださっているページがあったので、そこを参考に第1回から順番に資料を読んでいく。
資料を読む目的は
- 他の方のElasticsearchのまとめ方を知る
- Elasticsearchの活用事例を知る
- Elasticsearchを図解的に学ぶ
- もやもやしてる部分(プライマリシャードや分散システム)を解決したい
- Elasticsearchに詳しい人を知る
第7回Elasticsearch勉強会
Kibana4/@johtani
感想
- Kibanaの鹿のロゴかっこいい
- Kibana4は現在のKibana6を形作ってる途中というかんじだった
niconicoの検索を支えるElasticsearch/@shoito
niconicoの検索を支えるElasticsearch / niconico Elasticsearch // Speaker Deck
感想
- なぜniconicoの検索システムにElasticsearchを使用したか リアルタイム・スケールアウト
- アーキテクチャ設計
- ノード/インデックス設計 1サービス:1インデックス - 1タイプ,1レプリカ
- エイリアスを全インデックスで使用
- 内製プラグイン niconico用の独自のトークナイザ&フィルタ・function score計算用のロジック
- 利用プラグイン head, kopf, bigdesk, HQ, Marvel
- デプロイ/管理ツール 内製Capistrano Web wrapper
- モニタリング Zabbix
- これまで遭遇したトラブル Sprit-brain問題・想定外のインデックス作成・想定外のフィールド作成・OutOfMemory Exception
- 負荷計測ツール Gatling, JMeter
- チューニング クラスタ・インデクシング・検索
- 情報源 Elasticsearch Blog(https://www.elastic.co/jp/blog)・Elasticsearch - the defivitive guide(https://www.elastic.co/guide/en/elasticsearch/guide/index.html)・Elastic Cloud Documentation(https://www.elastic.co/guide/en/cloud/current/index.html)・@johtaniの日記 2nd(Elastic Cloud Documentation)・Hello! Elasticsearch(https://medium.com/hello-elasticsearch)・Lucene nightly benchmarks(https://home.apache.org/~mikemccand/lucenebench/)
Elasticsearch at CrowdWorks/@mumoshu
感想
- クラウドワークの検索システムにElasticsearchを使っている
- Elasticsearchが落ちた場合はInnoDB FTSで代替
- 一部ユーザにだけElasticsarchによる検索を公開(Feature Toggleの仕組み)
- サービス無停止でインデックス再構築
- Dynamic Scriptingオフ
- Object Type/Nested Objects
- Found
- 学習リソース Wantedlyさんのブログとスライド・(https://www.elastic.co/guide/index.html)・(https://www.elastic.co/guide/en/cloud/current/index.html)・分散システム一般
Elasticsearchプラグインの作り方/@shinsuke_sugaya
感想
- プラグインは2種類ある Elasticsearchの機能自体を変更・拡張するネイティブなプラグインとHeadやkopfのようにHTMLでの情報提供系のサイトプラグイン
- ネイティブなプラグインはJavaで作り、jarファイルをzipでまとめたもの
- プラグインelasticsearch-river-web ウェブサイトをクロールして、ページをインデックス化するもの(Fessと同じクローラー)
- プラグインelasicsearch-solr-api SolrのI/FでElasticsearchにアクセスできる
- プラグインelasticsearch-taste Mahout Tasteをベースのリコメンド機能
- プラグインelasticseatch-reindexing 生成済みのインデックスをコピーして、新しいインデックスを作成する
- プラグインelasticsearch-dataformat Excel/CSV/バルクJSON形式でデータをダンプする
- プラグインelasticsearch-sstmpl スクリプトを利用したクエリーテンプレート
- プラグインelasticsearch-minhash インデクシング時に指定されたフィールドの単語に対するb-bit Minhashを計算・保存 利用例=類似文書の検索・高速に類似ドキュメントを計算
- プラグインelasticsearch-dynarank 検索結果の上位N件を並び替える 利用例=特定の内容は上位に表示する・検索結果の重複をなくす
- プラグインelasticsearch-qrcache 検索結果をキャッシュする
- プラグインelasticsearch-auth ElasticsearchのREST APIをアクセス制御するプラグイン