Amazon Elasticsearch Service で Elasticsearch 5.5 の利用が可能となりました
ども、藤本です。
現地時間 9/7、Amazon Elasticsearch Service に Elasticsearch 5.5 / Kibana 5.5 が追加されました。5.1、5.3 に続き、5 系の 3つ目のマイナーバージョン追加となりました。Elastic 社から Elastic Stack 5.5 がリリースされてから 2ヶ月で取り入れられました。最近はこのペースで取り込まれているので嬉しいです。
概要
Amazon Elasticsearch Service は Elasticsearch / Kibana の AWSマネージドサービスです。Elasticsearch クラスタの管理・運用を AWS が行ってくれるため、利用者は画面を数操作するだけで Elasticsearch / Kibana の利用を開始でき、設定変更も数クリックで構成変更ができます。今までは Elasticsearch 1.7/2.3/5.1/5.3 を利用できました。それが今回のアップデートにより、Elasticsearch 5.5 を利用可能となりました。
変更点まとめ
バージョン
- Elasticsearch : 5.5.2
- Kibana : 5.5.2
$ curl https://search-es55-xxxxxxxxxxxxx.ap-northeast-1.es.amazonaws.com/ { "name" : "xxxxxx", "cluster_name" : "00000000000:es55", "cluster_uuid" : "xxxxxxxxxxxxxx", "version" : { "number" : "5.5.2", "build_hash" : "xxxxxxx", "build_date" : "2017-08-21T22:31:55.076Z", "build_snapshot" : false, "lucene_version" : "6.6.0" }, "tagline" : "You Know, for Search" }
Elasticsearch / Kibana の変更点
Elasitcsearch / Kibana の 5.4、5.5 の変更内容は下記ブログをご参照ください。
Elastic 社公式
Develpers.IO まとめ
- Kibana 5.4.0 で追加された Time Series Visual Builder を試してみた
- Kibana 5.4.0 から Pipeline Aggregation を可視化できるようになりました
- Kibana 5.4.0 の新機能を試してみた
- Kibana 5.5.0 の新機能の Region Map を試してみた
- Region Map で都道府県のデータを描画してみた #Kibana
自動スナップショットの利用が可能となりました
これは嬉しいアップデート。Amazon Elasticsearch Service はマネージドサービスでスナップショットは日次で自動で取得してくれます。ただ今までは自動取得したスナップショットから復元する場合、自身では実施できず、サポートへ依頼した上で AWS マターで復元が実施されます。S3 への手動スナップショットも実施できますが、Elasticsearch 自身でスナップショットのスケジューリング機能を持っていないため、Curator や独自スクリプトで外部で実装する必要がありました。それが今回のアップデートで任意のタイミングでユーザーの操作により自動スナップショットから復元可能となりました。データ破損時や、障害発生時に AWS への連絡や AWS の作業を待たずに即時に復元に取り掛かれるのは嬉しいです。
Stored Scripts 対応
Amazon Elasticsearch Service では 1.7、2.3 はスクリプトの利用がサポートされていませんでした。5.x系からリリースされた安全で高速な Painless Language を利用できるようになりました。今回のアップデートまでの利用方法は inline(リクエスト都度、スクリプトを記述)のみでした。今回のアップデートで Elasticsearch Service 内でスクリプトを保持できる Stored Script に対応しました。5.5系だけでなく、5.1、5.3 でも利用できるようです。
$ curl -XPOST https://search-es55-xxxxxxxxxxxxx.ap-northeast-1.es.amazonaws.com/_scripts/increment -d '{ "script": { "lang": "painless", "code": "doc['age'].value + 1" } }' $ curl -XPOST https://search-es55-xxxxxxxxxxxxx.ap-northeast-1.es.amazonaws.com/user/type -d '{ "name": "Fujimoto", "age": 33 } $ curl https://search-es55-xxxxxxxxxxxxx.ap-northeast-1.es.amazonaws.com/user/_search -d '{ "_source": ["name","age"], "script_fields": { "incremental_age": { "script": { "stored": "increment" } } } } { "took": 148, "timed_out": false, "_shards": { "total": 5, "successful": 5, "failed": 0 }, "hits": { "total": 1, "max_score": 1, "hits": [ { "_index": "user", "_type": "type", "_id": "AV5ffEZC09gINGHUS7dy", "_score": 1, "_source": { "name": "Fujimoto", "age": 33 }, "fields": { "incremental_age": [ 34 ] } } ] } }
Max Clause Count の上限値を指定可能になりました
Elasticsearch のクエリを行う際にクエリに含めることができるワードはデフォルトで 1024 までに制限されています。この上限を増やすためには Elasticsearch の設定ファイルのindex.query.bool.max_clause_count
で上限値を指定する必要がありました。ただ Amazon Elasticsearch Service は AWSマネージドサービスで設定ファイルを編集できないため、上限値を増やすことができませんでした。今回のアップデートで Amazon Elasticsearch Service の設定項目にindices.query.bool.max_clause_count
が追加されました。
まとめ
いかがでしたでしょうか? Amazon Elasticsearch Service も最新バージョンの追従が早くなり、利用者としては嬉しい限りです。そうなると困るのがバージョンアップに対応していないことです。バージョンアップにも対応していただけると更に嬉しいですね!