@johtaniの日記 2nd

@johtani ‘s blog 2nd edition

Elasticsearch 1.4.0および1.3.5リリース(日本語訳)

※この記事は次のブログを翻訳したものになります。

原文:elasticsearch-1.4.0 and 1.3.5 released

本日、Lucene 4.10.2をベースにしたElasticsearch 1.4.0と、バグフィックスリリースである、Elasticsearch 1.3.5をリリースしました。 ダウンロードおよび変更リストはそれぞれ次のリンクからアクセスできます。

1.3ブランチに関する過去のリリースについてのブログは次のとおりです:1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0.

Beta1リリースでも言及しましたが、1.4.0の主なテーマはresiliency(復元性、弾力性)です。 Elasticsearchをより安定し信頼性のあるものにし、メモリ管理を改善し、ディスカバリアルゴリズムを改善し、破損したデータの検知を改善しました。 Beta1リリースからのハイライトも含んでいます。

  • Doc values (インデックス時にディスクに保存されるfielddata)がヒープ利用率を激減
  • Request circuit breaker: メモリを消費しすぎる検索リクエストの中断
  • Bloom filterのデフォルト無効、高速なインデキシングのためにもはや必要とされないため。
  • ノードディスカバリ、シャードリカバリの数多くのバグフィックス及び改善
  • データ破損の早期検知のためのチェックサムのさらなる利用
  • GroovyをMVELの代わりにデフォルトスクリプト言語に
  • CORSをデフォルト無効に。XSS攻撃防止の為。
  • クエリキャッシュ、変更されていないシャードからすぐにaggregation結果を返す
  • 新しいAggregation:filter(ドキュメント)、children(ドキュメント)、scripted_metric(ドキュメント)
  • 新しいGET /indexAPI。インデックスのsettings、mappings、warmers、aliasesを1回のリクエストで返却(ドキュメント)
  • 自動付与ドキュメントIDのためのFlake ID。プライマリキーの探索パフォーマンスの改善。
  • ドキュメントに変更のない更新によるドキュメントの再インデックスの防止
  • function_scoreクエリの関数でweightパラメータによる個別の改善を可能に。(ドキュメント)

詳細については1.4.0.Beta1のブログ(英語)(日本語訳)をご覧ください。

Beta1以降の1.4.0の変更の全てについては、1.4.0 release notesでご覧いただけます。 以下では、2つの主な変更について紹介します。

HTTP Pipelining

HTTP pipeliningは複数のリクエストを1回のコネクションで、関連するレスポンスを待つことなく送信することができます。 そして、レスポンスは、受け取ったリクエストと同じ順序で返却されます。 HTTP/1.1の仕様で、pipeliningのサポートが必要です。ElasticsearchはHTTP/1.1であるとしてきましたが、pipeliningはサポートしていませんでした。この問題は.NETユーザで問題を引き起こしました。

現在、HTTP pipeliningは公式にサポート済みで、デフォルトで利用できます。#8299をご覧ください。

Upgrade API

Luceneのすべてのリリースではバグフィックスや最適化が提供されます。しかし、多くのユーザは古いバージョンのLuceneで作成されたインデックスを持っており、より最新の改善による利点を利用できないことがあります。 新しいupgradeAPIは、あなたのインデックスすべてもしくは一部を最新のLuceneフォーマットに透過的にアップグレードできます。

GET _upgradeリクエストは、インデックスのアップグレードが必要かどうかを提示し、アップグレードに必要なセグメントのサイズをリポートすることによって、どのくらいの時間が必要かの目安を提供します。 POST _upgradeコマンドはバックグラウンドでインデックスを最新のLuceneフォーマットに書き換えます。

より詳しい情報はupgradeAPIドキュメントをご覧ください。

試してみてください。

Beta1リリースを利用し、経験・体験を報告していただいたベータテスターの方々に感謝します。 1.4.0がこれまでの最高のリリースになると確信しています。 ぜひ、Elasticsearch 1.4.0をダウンロードして、試してみてください。 そして、感想をTwitter(@elasticsearch)などで教えて下さい。 また、問題がありましたら、GitHub issues pageで報告をお願いします。

Comments