第8回Elasticsearch勉強会の資料を読む

Elasticsearch勉強会(Elastic Tokyo User Group) #elasticsearchjp というものがあり、今までに20回以上勉強会が開催されている。

www.meetup.com

Elasticsearch勉強会の資料をまとめてくださっているページがあったので、そこを参考に第1回から順番に資料を読んでいく。

qiita.com

資料を読む目的は

  • 他の方のElasticsearchのまとめ方を知る
  • Elasticsearchの活用事例を知る
  • Elasticsearchを図解的に学ぶ
  • もやもやしてる部分(プライマリシャードや分散システム)を解決したい
  • Elasticsearchに詳しい人を知る

第8回Elasticsearch勉強会

Elasticsearch導入チェックリスト?/@johtani

Elasticsearch導入チェックリスト? // Speaker Deck

感想

Elasticsearch クエリとスキーマ定義のすごい細かい話/@junya_todo

Elasticsearch クエリとスキーマ定義の細かい話 // Speaker Deck

感想

  • 静岡の焼津きれい
  • niconicoの総合検索基盤はElasticsearchに支えられている
  • 困りごとは公式ドキュメントを見れば分かる Elasticsearch Referenceは初心者から中級者向家ガイドでElasticsearch - The Definitive Guideは初心者から上級者向けガイドのイメージ
  • フィールド追加時に決めること 型・データ長・アナライザ・検索対象(index)なのか格納(store)するだけなのか
  • 利用しているクエリやフィルター、Aggregationsの種類
  • テキスト検索のノイズを減らしたい boolean,phrase
  • 環境依存文字(Unicode)で検索したい 表記ゆれの対策 プラグインelasticsearch-analysis-icuを用いて正規化を行う
  • ある時点の検索結果を並べつつ全件取得したい scan&scrollでは要件を満たせなかった 検索タイプquery then fetch ディープページング 別のインデックスへdumpした
  • 負荷検証ではキャッシュを知ることが重要
  • なぜmatchクエリは、二回目の方がはやいのか→二度目以降、検索の効率化に必要なセグメントをディスクからメモリに読み込む必要がないから
  • なぜfilterやsortは、二回目の方がはやいのか→filterごとにfilter cacheを作成しているから,sort対象フィールドごとにfielddataを作成していて二度目以降fielddataが利用されるから
  • fielddataとは
  • ドキュメントの更新によりキャッシュはどうなるのか リアルに数値が必要なときはキャッシュを無効にしないほうが良い
  • ドキュメントの削除によりキャッシュはどうなるのか→mergeされるまではディスク容量も使うしfielddataも残ることになる このスキップのために文章が削除されたときからスループットは低くなっていく
  • 負荷検証で心にとめていること
  • Benchmark API APIで負荷検証ができる

ElasticsearchとKibanaで実現する、30億req/dayのリアルタイム分析/@satully

Elasticsearch勉強会第8回 ElasticsearchとKibanaで実現する 30億req/dayのリアルタイム分析

感想

  • ディスプレイ広告配信プラットフォームの裏側に使っている
  • サーバインフラ全体の構成
  • Kibanaでどんな項目を可視化しているか Bid率(落札率)やUnhandledException数など
  • リアルタイムのモニタリング用途に特化した使い方をしている

はてなのメディア面を支えるElasticsearch/@yanbe

第8回Elasticsearch勉強会を開催しました。#elasticsearchjp - @johtaniの日記 2nd

感想

  • 本資料が見当たらなかった…