- 8.15の新機能
- マルチリポジトリのスナップショット取得リクエスト処理における厳格な失敗処理
- Tech Previewとしてのlogsdbインデックスモードの導入
- dense_vectorへの新しいint4量子化の追加
- クエリルールをGAとしてマーク
- dense_vectorsの新しいビット要素タイプの追加
- Redactプロセッサが一般提供(GA)に
- ISO-8601日付時刻用の新しいカスタムパーサー
- より多くのISO-8601日付形式用の新しいカスタムパーサー
- プレビュー: geoipプロセッサにおける接続タイプ、’Domain’およびISPデータベースのサポート
- ElasticsearchをLucene 9.11に更新
- 合成_sourceの改善
- ネストされたフィールドを持つインデックスのインデックスソート
8.15の新機能
8.15での新機能。
Elasticsearch 8.15の新機能と改善点のハイライトを以下に示します。このリリースに関する詳細情報は、リリースノートおよび移行ガイドを参照してください。
他のバージョン:
8.14 | 8.13 | 8.12 | 8.11 | 8.10 | 8.9 | 8.8 | 8.7 | 8.6 | 8.5 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0
マルチリポジトリのスナップショット取得リクエスト処理における厳格な失敗処理
マルチリポジトリのスナップショット取得リクエストがターゲットリポジトリの1つで失敗した場合、以前のバージョンのElasticsearchは、故障したリポジトリが存在しないかのように処理を続けていましたが、レスポンスボディの別セクションにリポジトリごとの失敗レポートが表示されます。これにより、失敗がある場合に結果を適切にページネートすることが不可能になります。バージョン8.15.0以降では、このAPIの失敗処理の動作が厳格化され、ターゲットリポジトリの内容がリストできない場合は全体の失敗が報告されます。
Tech Previewとしてのlogsdbインデックスモードの導入
この変更により、logsdb
という新しいインデックスモードが導入されます。この新しいインデックスモードが有効になると、以下のストレージ節約機能が自動的に有効になります:
- 合成ソース、
_source
フィールドの保存を省略します。_source
またはその一部が要求されると、実行時に動的に合成されます。 - インデックスソート。デフォルトでは、インデックスはインデックス時に
host.name
および@timestamp
フィールドでソートされます。他のソートフィールドがより良い圧縮率をもたらす場合は、これを上書きできます。 - ドキュメント値が有効なフィールドに対して、よりスペース効率の良い圧縮を有効にします。これらは、
time_series
インデックスモードが有効なときに使用されるのと同じコーデックです。
index.mode
インデックス設定はlogsdb
に設定され、インデックステンプレートで構成するか、プレーンインデックスを作成する際に定義する必要があります。ベンチマークおよびその他のテストでは、logsデータセットは新しいインデックスモードが有効な場合、構成しない場合と比較して約2.5倍少ないストレージを使用することが示されています。新しいlogsdb
インデックスモードはテクニカルプレビュー機能です。
dense_vectorへの新しいint4量子化の追加
新しいint4(半バイト)スカラー量子化サポートが2つの新しいインデックスタイプを介して提供されます: int4_hnsw
およびint4_flat
。これにより、float32
から8倍の削減が得られますが、いくつかの精度損失があります。必要なメモリが少なくなるだけでなく、生のベクトルと比較してクエリおよびマージ速度が大幅に向上します。
クエリルールをGAとしてマーク
このPRは、クエリルールを一般提供(GA)としてマークします。すべてのAPIはもはやテクニカルプレビューではありません。
dense_vectorsの新しいビット要素タイプの追加
これにより、bit
ベクトルサポートがelement_type: bit
を追加することによって追加されます。この新しい要素タイプは、インデックス付きおよび非インデックス付きベクトルの両方で機能します。さらに、hnsw
およびflat
インデックスタイプでも機能します。この要素タイプでは量子化ベースのコーデックは機能せず、byte
ベクトルと一貫性があります。
bit
ベクトルは、サイズが32768
次元まで受け入れ、インデックスされるベクトルは16進数文字列またはbyte[]
配列としてエンコードされることを期待します。byte
配列の各要素は、ベクトルの8
ビットを表します。
bit
ベクトルはスクリプト使用と通常のクエリ使用をサポートします。インデックスされると、すべての比較はxor
およびpopcount
の合計(すなわち、ハミング距離)で行われ、スコアはベクトルの次元に応じて変換および正規化されます。
スクリプトの場合、l1norm
はhamming
距離と同じで、l2norm
はsqrt(l1norm)
です。dotProduct
およびcosineSimilarity
はサポートされていません。
この要素タイプによって期待される次元は常に8
で割り切れる必要があり、インデックス用に提供されるbyte[]
ベクトルはdim/8
サイズでなければならず、各バイト要素はベクトルの8
ビットを表します。
Redactプロセッサが一般提供(GA)に
Redactプロセッサは、指定されたGrokパターンに一致する入力ドキュメント内のテキストを隠すためにGrokルールエンジンを使用します。Redactプロセッサは、8.7.0
でテクニカルプレビューとして最初にリリースされ、現在は一般提供(GA)としてリリースされています。
ISO-8601日付時刻用の新しいカスタムパーサー
これは、iso8601
、strict_date_optional_time
、およびstrict_date_optional_time_nanos
の組み込み日付形式用のISO-8601日付時刻用の新しいカスタムパーサーを導入します。これにより、デフォルトのJava日付時刻解析よりもパフォーマンスが向上します。同様の動作を維持しつつ、新しいパーサーは複数の小数秒フィールドや複数のタイムゾーン指定子を持つナンセンスな日付時刻文字列を受け入れません。新しいパーサーが文字列の解析に失敗した場合、以前のパーサーを使用して解析します。入力データの大部分がこれらの無効な文字列で構成されている場合、わずかなパフォーマンス低下を引き起こす可能性があります。古いパーサーの使用を強制したい場合は、すべてのESノードでJVMプロパティes.datetime.java_time_parsers=true
を設定してください。
より多くのISO-8601日付形式用の新しいカスタムパーサー
#106486に続いて、これはカスタムISO-8601日付時刻パーサーを拡張して、strict_year
、strict_year_month
、strict_date_time
、strict_date_time_no_millis
、strict_date_hour_minute_second
、strict_date_hour_minute_second_millis
、およびstrict_date_hour_minute_second_fraction
の日付形式をカバーします。以前と同様に、パーサーは解析の問題がある場合に既存のjava.timeパーサーを使用し、es.datetime.java_time_parsers=true
JVMプロパティは古いパーサーの使用を強制します。
プレビュー: geoipプロセッサにおける接続タイプ、’Domain’およびISPデータベースのサポート
テクニカルプレビューとして、geoip
プロセッサは、商用のGeoIP2 Connection Type、GeoIP2 Domain、およびGeoIP2 ISPデータベースをMaxMindから使用できるようになりました。
ElasticsearchをLucene 9.11に更新
Elasticsearchは、最新のLuceneバージョン9.11を使用して更新されました。以下は完全なリリースノートです: しかし、特に注目すべき点は次のとおりです: - より良いメモリ管理のためのMADVISEの使用: https://github.com/apache/lucene/pull/13196 - 競合を減らすためにLRUQueryCacheにアクセスするためのRWLockの使用: https://github.com/apache/lucene/pull/13306 - ネストされたkNNクエリのためのマルチセグメントHNSWグラフ検索の高速化: https://github.com/apache/lucene/pull/13121 - ヒープ上のベクトルをコピーせずにスコアリングするためのMemorySegment Vectorスコアラーの追加: https://github.com/apache/lucene/pull/13339
合成_sourceの改善
合成_source
機能に対する複数の改善があります:
- 合成
_source
は、nested
およびobject
を含むすべてのフィールドタイプでサポートされるようになりました。object
フィールドは、enabled
がfalse
に設定されている場合にサポートされます。 - 合成
_source
は、これをサポートするすべてのフィールドタイプに対してignore_malformed
およびignore_above
パラメータと共に有効にできます。
ネストされたフィールドを持つインデックスのインデックスソート
ネストされたオブジェクトを含むマッピングのインデックスに対してインデックスソートがサポートされるようになりました。ただし、インデックスソート仕様(index.sort.field
で指定されたもの)にはネストされたフィールドを含めることはできません。