リリース

Elasticsearch 2.2.0、2.1.2、1.7.5リリース

Lucene 5.4.1ベースのElasticsearch 2.2.0 のリリースを本日発表いたします。また、Elasticsearch 2.1.2Elasticsearch 1.7.5のバグ修正版もリリースしました。この新しいリリースはすべて、「Elasticsearch-as-a-service」プラットフォームである、Foundで利用可能です。今週はさらに、KibanaLogstashBeatsElasticsearch-Hadoop のリリースも予定されています。.

Elasticsearch 2.2.0 には、2つの素晴らしい新機能が加わりました:クエリプロファイラと大幅に改善されたgeo-pointフィールドです。セキュリティが強化され、シャードリカバリに時間がかかる、というElasticsearch 2.1.0での問題を解決する重要なバグ修正が含まれています。また、これ以外にも多数のバグ修正と機能強化が盛り込まれています

ぜひアップグレードすることをお勧めします。

最新の安定リリース:

2.1のバグ修正:

1.7.5のバグ修正:

プロファイル API

LuceneとElasticsearchの歴史の中で今回初めて、詳細なクエリプロファイリング情報へのアクセスが可能となります。この情報を利用して、クエリパフォーマンスをより深く理解し、デバッグに役立てることができます。クエリの各部分は個別に処理時間が測定され、クエリの書き換えにどれぐらいの時間がかかったかなどの統計情報が記録されます。これにより、条件に一致するドキュメントを探したり、スコアを表示することができます。特定のクエリに時間がかかる理由をいろいろと憶測する必要はもうありません。profileパラメータをtrueに設定するだけで、 即座に、詳細な洞察が得られるのです。

それでは、これが「クエリプロファイルAPI」ではなく、「プロファイルAPI」と呼ばれるのはなぜでしょうか?それは、今後、この機能をアグリゲーションまで、もしかしたらサジェスタやハイライタまで、拡張する予定だからです。

詳細については、プロファイルAPIのドキュメントをご覧ください。

大幅に強化されたgeo-pointフィールド

geo-pointフィールドが完全に書き換えられて、Luceneインデックスに格納された新しいコンパクトなデータ構造を利用できるようになりました。この結果、インデキシング処理が50%、geoクエリが20-50%、それぞれ高速化され、ディスクとヒープの使用量が半減されて、マッピングオプションもシンプルになりました。既存のgeo-pointフィールドも継続して使用できますが、新しいgeo-pointフィールドは自動的に新しい機能を利用するようになっています。

geo-pointの機能強化についての詳細は、Elasticsearch 2.2でのgeo-pointフィールドの大幅な強化をご覧ください。

プラグインとスクリプティングのセキュリティ強化

Elasticsearchのさらなるセキュリティ強化を目指す一端として、GroovyとLuceneのスクリプティング言語がコアから出されて、モジュールとして提供されることになりました。つまり、実質的には標準として付属するプラグインになります。これらのモジュールの権限を制限することで、攻撃に対する防御力を高めることができます。今後のバージョンでも、Elasticsearchコアの一部がモジュール化されていく予定です。

スクリプティング言語に対して、読み込みが許可されるクラスが事前定義されたホワイトリストを持つことになりました。スクリプトでファイルが読み書きされたり、リモートサーバーへのソケットが開かれたりすることは避けたいですからね!ホワイトリストをカスタマイズする方法については、スクリプティングとJava Security Managerをご覧ください。.

デフォルトでは許可されない、特別な権限を必要とするプラグインでは、これらの権限を宣言する必要があり、プラグインのインストール時に警告が表示されます。これにより、mapper-attachmentsプラグインを2.2のメインのElasticsearchリポジトリに移動することができました。

まとめ

ぜひElasticsearch 2.0.0をダウンロード して試してみてください。Twitter(@elastic)やフォーラムで感想を聞かせてください。また、問題がありましたらGitHub issues pageで報告をお願いします。