ryouma-nagareのブログ

IT関連をメインに書いていきます。

第12回elasticsearch勉強会 に行って来ました。

イベントページはこちら

【Elasticaserch 2.0.0 βの紹介】

  • Lucene5がベース。
  • 2500以上のプルリク。
    • 850が新規
  • 496コミッター
  • RC1は本番では利用しないでください!

特徴
●Simplification
・廃止された機能

  • River
    • Logstashなどの利用を。
  • Facet
    • aggregationに。
  • _shutdownAPI
  • Thrift/Memcached protocol
  • Bulk UDP

プラグインになった機能

  • Delete by query
  • murmur3
  • size
  • Multicast discovery
    • 同一ネットワークで勝手にクラスタを組まれてしまわないように外部に。

・主要プラグインを同梱

・Mappingの変更

  • Conflicting field mappings
  • short nameでのフィールド指定の禁止
  • フィールド名にドットが使用不可
  • ドットで始まるタイプ名の禁止

これは大幅に変わってますね…

●ネットワーク設定の変更
・デフォルトの変更

・Security Managerの導入

  • プロセス起動にJavaのSecurity Managerを適用

●Index操作をより冗長に

  • 各操作ごとにfsync

複数data.pathによるストライピング

  • パスごとにそれぞれのシャードを配置
  • 1シャードのファイルは同じパスに書き込み

●その他

  • doc valuesがデフォルト
  • 時間やバイトの値の設定に単位が必須

●Pipeline Aggregations

  • 集計結果からさらに集計

●Index Compression

  • インデックスサイズが10~30%小さく

オライリーの本を買って勉強を始めました、という人に 「PDFだとすごく安いです」 と容赦ない言葉w

→「オンラインで無料で読めます」だそうです。さらに容赦ないw

●2.0への移行

  • ローリングアップグレードは不可
    • Clusterの停止が必要
  • ダウングレード不可
  • バックアップとりましょう
  • まずはテストを!
  • Migration Pluginを利用して問題点をチェック!
  • Lucene3で作成したインデックスはLucene5では読めない。

Google Groupではなく、Webフォーラムに移行しました。
https://discuss.elastic.co/

【Elasticsearch を使った位置情報検索について】

https://haveagood.holiday/
の開発をしている方のお話。内部でelasticsearchを使用。

●基本編
・中心点からの距離で絞り込む

・distance_type

  • arc
    • 最も遅いが最も正確。球状なのを考慮
  • plane
    • 最も早いが不正確。平面とみなす
  • sloppy_arc
    • arcの4~5倍速く、99.9%の精度


Geo-filtersは負荷の大きい処理。
できるだけ他の低コストなフィルターで対象を絞ってから。

・距離順にならびかえる

  • ユースケース
    • 「現在地から近い順」のようなソートを提供したい。
  • なぜ、単位を指定するのか?比較に単位は関係ないのでは?
    • sortに距離が入って返ってくるから。取得した結果をそのまま表示に使える。

●ちょっとだけ応用編
・より柔軟な位置情報検索

・function_score_query

  • 徒歩圏内で数十mの違いは重要?
  • 2キロぐらいなら近い方がいい。
  • 10キロ以上離れると電車や車を使うから、あんまり関係ない。
    • `gauss` functionを使うことで上記のような検索を実現

サンプルを↓で提供しています。
https://github.com/9toon/es-geo-sample

【Elasticsearch at Makuake】

https://www.makuake.com/
での使用例。

https://github.com/Kakakakakku/elasticsearch-hands-on
でまずはelasticsearchを試してみてください、とのことでセルフハンズオンを提供している方の講演。
LT枠での応募だったそうで、時間は短かったですが内容は非常に濃かったです。

・金額の把握のために、営業にもkibanaを使わせてる。スゲー
・実行者向けにも分析のUIを提供。

・開発エンジニア、プロダクト、キュレーター、実行者に同じデータを

最後に小ネタとして、
・ノード名はmarvelのキャラクタ名。
・再起動のたびにノード名は変わる
・数が合わないぞ?

詳しくは↓
http://kakakakakku.hatenablog.com/entry/2015/08/29/163518

最後に大谷さまから、kibana4にkibana3の黒い画面が帰ってくるとの言葉がありました!

logstashのステッカーをいただいて来ましたが、いい感じにキモイですw

f:id:ryouma-nagare:20151013170826p:plain