Elasticsearch version 8.7.0

8.7の破壊的変更も参照してください。

Known issues

  • シャードの再バランスが一時的にクラスターのバランスを崩す可能性があります
    8.6.0以降、デフォルトのシャード再バランスアルゴリズムは、最終的な望ましいバランスを計算し、現在のクラスターの状態を望ましい状態と調整するためにシャードの移動を行います。ただし、シャードの移動が行われる順序は特定のノードに偏る可能性があり、調整が進行中の間、クラスターが一時的に不均衡になることがあります。常に、ノードがディスクのウォーターマークに達すると、追加のシャードを受け入れなくなりますが、この偏りにより、ノードが通常の操作よりも頻繁にディスクのウォーターマークに達する可能性があります。調整プロセスが完了すると、クラスターは再びバランスが取れます。
    この問題を回避するには、8.8.0以降にアップグレードしてください。

Breaking changes

  • インジェストノード
    • JsonProcessorを厳格にして、データを静かにドロップしないようにします #93179 (問題: #92898)
  • インデックスAPI
    • インデックスの解決 APIの実装は、他の類似のAPIと同じインデックス解決メカニズムを使用するように調整され、ignore_unavailableおよびallow_no_indicesフラグと_allメタインデックスのサポートが追加されました。一致するインデックスがない場合、以前のバージョンのこのAPIは200 OK HTTPレスポンスコードで空の結果を返していましたが、8.7.0以降はデフォルトでIndexNotFoundException404 Not Found HTTPレスポンスコードで返します。古い動作を回復するには、クエリパラメータ?ignore_unavailable=trueを追加してください (#92820).

Bug fixes

  • 集計
    • 空のバケットに対して新しいDoubleHistogramインスタンスを作成しない #92547
    • 修正: 文字列以外のマップキータイプを許可しない #88686 (問題: #66057)
  • 割り当て
    • 予測が利用できない場合は実際のシャードサイズにフォールバック #93461
    • クラスター状態が回復されていない場合はDiskThresholdMonitorをスキップ #93699
    • AllocationActionMultiListenerでのレスポンスヘッダーを抑制 #93777 (問題: #93773)
  • 認証
    • ドメインをサポートしないノードバージョンとの互換性のためにAuthenticationを再書き込みする際に、領域からドメインを正しく削除します #93276
  • 認可
    • 利用できないが認可された名前を削除しないようにセキュリティの式解決器を修正 #92625
  • CCR
    • 重複した重いCCRリポジトリCSリクエストを削除 #91398
  • CRUD
    • Stateless Get/mGetでNPEを回避 #94164
    • TransportBulkActionで全インデックスをリフレッシュしない #93417
  • クラスター調整
    • コミットまでマスタタスクの失敗通知を遅延 #92693 (問題: #92677)
  • データストリーム
    • DataStreamAliasDataStreamごとに異なるフィルターを許可 #92692 (問題: #92050)
  • 地理
    • クロスクラスターのベクトルタイル検索でインデックスの資格名を構築 #94574 (問題: #94557)
    • 球面座標を使用してジオポイントのGeohexGrid境界をチェック #92460
    • ベクトルタイル内のジオメトリコレクションをクリッピングする際のバグを修正 #93562
  • 健康
    • ディスクのウォーターマーク計算にmax_headroomを考慮 #93157 (問題: #93155)
  • ILM+SLM
    • ILMステップをフェーズの端末ステップに移行することを許可 #91754
    • ILMHistoryStoreでのBulkProcessorデッドロックを回避 #91238 (問題: #68468, #50440)
    • SearchableSnapshotActionforceMergeフラグのみを変更してもポリシーが更新されない問題を修正 #93847
    • ILMおよびSLMのランタイム状態がスナップショットに保存されないようにする #92252
  • Infra/CLI
    • ブートストラップチェックをエラーとして印刷するように復元 #93178 (問題: #93074)
  • Infra/Core
    • esコードベースにjdk.internal.reflect権限を追加 #92387 (問題: #92356)
    • 抑制された例外のみを通じて例外ループのチェックを追加 #93944 (問題: #93943)
    • ワンショットラッパーがそのデリゲートを解放することを確認 #92928
    • InputStream#readAllBytesInputStreamIndexInputで修正 #92680
    • コロンを持つ日付数学のインデックス解決を修正 #92973
    • FilterStreamInputをトラップしにくくする #92422
  • Infra/Plugins
    • プラグイン初期化の順序を確保 #93882 (問題: #93851)
    • ClassReadersでの未閉じのディレクトリストリームを修正 #92890 (問題: #92866)
    • プラグインスキャナーで使用されるasmのバージョンを更新 #92784 (問題: #92782)
  • Infra/REST API
    • [Rest Apiの互換性] メディアタイプのレスポンス形式をパラメータで指定 #92695
  • Infra/Scripting
    • 配列型でメソッドが呼び出されたときのNPEを修正 #91713 (問題: #87562)
  • Infra/Settings
    • ILMオペレーター設定の解析失敗を修正 #94477 (問題: #94465)
  • インジェストノード
    • インジェスト統計のためのより良い名前とタイプ #93533 (問題: #80763)
    • インジェスト失敗の例外ケースを正しく処理 #92455
    • インジェストアタッチメントのログを無効にする #93878
    • 必要なときのみgeoipデータベースをダウンロード #92335 (問題: #90673)
    • インジェストノードへのシミュレートコールを転送 #92171
    • Grokが繰り返しパターン名の一致リストを返す #92092 #92586 (問題: #92092)
    • デフォルト/リクエストパイプラインと最終パイプラインを最小限の追加オーバーヘッドで処理 #93329 (問題: #92843, #81244, #93118)
    • インジェストアタッチメントモジュールのtika依存バージョン #93755
    • より正確な総インジェスト統計 #91730 (問題: #91358)
    • インジェストgeoipプロセッサの速度を向上 #92372
    • インジェストセットおよび追加プロセッサの速度を向上 #92395
  • 機械学習
    • ゾーン認識属性が設定されていない場合はトレーニング済みモデルを割り当て #94128 (問題: #94123)
    • データフィードを開始するときのデータカウントの競合状態を修正 #93324 (問題: #93298)
    • BERTおよびMPNetでの正規化処理時のトークン化バグを修正 #92329
    • モデルの読み込みがキャンセルされたときにリソースを正しく解放 #92204
    • スーパーセットが存在する場合にfrequent_items集計が部分集合を報告しないようにする #92239
    • インジェスト時に長い推論タイムアウトを使用 #93731
  • マッピング
    • 無効な日付の動的マッピング検出を修正 #94115 (問題: #93888)
    • ソースのみのキーワードフィールドに対する長さチェックなし #93299 (問題: #9304)
  • ネットワーク
    • 保留中の間にConnection#onRemovedを遅延 #92546
    • tlsハンドシェイクが完了する前にfransportハンドシェイクが開始される問題を修正 #90534 (問題: #77999)
    • 古い接続からNodeConnectionsServiceを保護 #92558 (問題: #92029)
  • 回復
    • 回復開始前に回復モニターを無効にする #93551 (問題: #93542)
    • RemoteRecoveryHandlerでの潜在的なリークを修正 #91802
    • 完全にマウントされた検索可能なスナップショットから回復したファイルをスナップショットから回復したと報告 #92976
  • ロールアップ
    • マッピングされていないテキストフィールドのダウンサンプリング #94387 (問題: #94346)
    • タイムスタンプ形式を伝播し、ナノ秒をミリ秒に変換 #94141 (問題: #94085)
    • 失敗時にTransportDownsampleActionの処理を停止 #94624
    • ラベルとしてのヒストグラムのダウンサンプリングをサポート #93445 (問題: #93263)
  • 検索
    • 折りたたみフィールドに対するソートフィールドのnullチェックを追加 #94546 (問題: #94407)
    • 検索に注釈と注釈付き用語の両方が含まれている場合、注釈付きハイライターが一致しない #92920 (問題: #91944)
    • キャンセルされた場合のフィールドキャップインデックスレスポンスをクリア #93716 (問題: #93029)
    • デフォルトでPITに凍結インデックスを含めない #94377
    • 奇妙なシナリオでprefixクエリによってスローされるNPEを修正 #94369
    • _idフィールドの取得問題を修正。 #94528 (問題: #94515)
    • 保存されたフィールドの抽出に関するメタデータ_sizeを修正 #94483 (問題: #94468)
    • ProfileWeightでの一致のオーバーライドが欠落している問題を修正 #92360
    • copy_to中にネストされたパス情報が追加されないようにする #93340 (問題: #93117)
    • 起動時にすべてのプロファイリングイベントを使用 #92087
    • TermVectorsServiceのトークン化されていないフィールドにキーワードアナライザーを使用 #94518
    • [プロファイリング] 最後のデータスライスの処理を調整 #94283
    • [プロファイリング] レスポンスが一度だけ送信されることを確認 #93692 (問題: #93691)
    • [プロファイリング] レスポンス処理エラーを処理 #93860
  • スナップショット/復元
    • blobstoreリポジトリに予期しないファイルが含まれているときの未処理の例外を修正 #93914
    • GCS APIのすべての場所でGCSプロキシのサポート #92192 (問題: #91952)
  • スタッツ
    • TBbNAでクラスター状態をキャプチャしないようにする #92255
  • TSDB
    • スパース_doc_countフィールドの合成_sourceを修正 #91769 (問題: #91731)
  • タスク管理
    • タスクリストAPIでのコンテキストリークを修正 #93431 (問題: #93428)
  • トランスフォーム
    • 失敗処理と再試行ロジックに「sourceHasChanged」呼び出しを統合 #92762 (問題: #92133)
  • ベクトル検索
    • kNN検索のためのmaxScore計算を修正 #93875
    • kNN検索の一致に対する説明を修正 #93876

強化

  • 集約
    • グローバルオーディナル値ソースを使用した複合集約の最適化 #92197
  • 割り当て
    • エンドポイントに forecasted_write_loadforecasted_shard_size_in_bytes を追加 #92303
    • 内部エンドポイントを介してティアバランシング統計を公開 #92199
    • ShardRouting.Role を導入 #92668
    • ノード削除APIの事前検証 (pt. 2) #91256 (問題: #87776)
    • cluster_concurrent_rebalance=2 を使用して移動をシミュレート #93977
    • プロモートできないものはレプリケーションとピアリカバリをスキップ #93210
  • 認証
    • JWT領域に新しい token_type 設定を追加 #91536
    • JWT領域 - アクセストークンの初期サポート #91781
    • JWT領域 - トークンのプリンシパル計算を簡素化 #92315
    • JWT領域 - 必要なクレームのサポートを追加 #92314
    • カスタムPBKDF2パスワードハッシュをサポート #92871
  • 認証
    • 許可されたインデックスマッチャーがネストされた制限付きロールをサポート #93306
    • Fleet変換アップグレード用の追加 kibana_system 権限 #91499
    • 子検索トランスポートアクションを事前承認 #91886
  • クラスター調整
    • トラブルシューティングドキュメントへのリンクを追加 #92755 (問題: #92741)
    • トラブルシューティング用のノード-{join,left} ロギングを改善 #92742
    • cluster.initial_master_nodes ログ警告を繰り返す #92744
  • EQL
    • EQLサンプル: キーごとに複数のサンプルをサポート #91783
  • エンジン
    • InternalEngineCombinedDeletionPolicy のためのコミットリスナーを追加 #92017
    • Engine.IndexCommitListener にプライマリタームサプライヤーを追加 #92101
    • インデックス内の削除の許可されるパーセンテージの範囲を調整 #93188
    • 各新しいコミットによって追加されるファイル名のリストを比較 #92238
    • 固定の複合ファイル閾値を1GBに設定 #92659
  • 地理
    • H3#hexRing に長い配列の割り当てを防ぐメソッドを追加 #92711
    • H3 APIでの子ナビゲーション中に長い配列の割り当てを防ぐメソッドを追加 #92099
    • 新しいH3 APIメソッド #h3ToNoChildrenIntersecting を追加 #91673
    • H3で、距離と方位から平面3D数学を使用して目的地を計算 #93084
    • 整数オーバーフローからH3ライブラリを保護 #92829
    • H3#h3ToGeoBoundary でのオブジェクト割り当ての数を減少 #91586
    • 三角関数の実装に FastMath を使用してH3ライブラリの速度を向上 #91839
  • 健康
    • Health API テレメトリを xpack 経由で公開 #91708 (問題: #90877)
    • Health API 統計 #91559
  • インデックス API
    • ignore_missing_component_templates 設定オプションを追加 #92436 (問題: #92426)
  • インフラ/CLI
    • インストール時に安定したプラグインの名前付きコンポーネントをスキャン #92528
  • Infra/Core
    • JVMログのログレベルを追加 #92382
    • fleet-actions に新しいフィールド rollout_duration_seconds を追加 #92640
    • ワイルドカードアドレスにレディネスサービスをバインド #91329 (問題: #90997)
    • ローカルにマウントされたセキュア設定の実装を提供 #93392
  • インフラ/プラグイン
    • インストール時とロード時に安定したプラグインのバージョンを確認 #91780
    • 設定を持つ安定したプラグインの例 #92334
    • 合成モジュールとして安定したプラグインをロード #91869
    • 安定したプラグインのための設定API #91467
  • インフラ/スクリプティング
    • スクリプト: メタデータ validateMetadata 最適化 #93333
    • painless def の等価性をショートサーキット #92102
    • 定義からのプリミティブ配列を反復するためにボクシング/アンボクシングではなくプリミティブ型を使用 #92025
  • Ingest Node
    • DateProcessor 内でパーサーの作成をキャッシュ #92880
    • GeoIpProcessor バックエンドデータベースインスタンスをプラグイン可能にする #93285
  • 機械学習
    • 異常説明に多様体分布の識別を追加 #2440
    • 頻繁なアイテムに値を含めたり除外したりする機能を追加 #92414
    • スクロールデータフィードで aggregate_metric_double を使用した場合のエラーを改善 #92232 (問題: #90592)
    • 実行時を改善するために頻繁なアイテムで拡張の剪定を実装 #92322
    • グローバルオーディナルを使用して frequent_items のパフォーマンスを改善 #93304
    • 異常検出結果のインデックス速度を改善 #92417
    • 頻繁なアイテムの実行時を改善 #93255
    • トレーニングされたモデルデプロイAPIのデフォルトタイムアウトを増加 #92328
    • リセット/削除ジョブAPIのためにユーザー追加の注釈を削除するオプション #91698 (問題: #74310)
    • データカウントとデータフィードのタイミング統計を非同期で永続化 #93000
    • PyTorch推論作業キューを削除し、現在はElasticsearchで処理 #2456
    • テキスト埋め込み検索 #93531
    • PyTorchをバージョン1.13.1にアップグレード #2430
  • マッピング
    • Luceneの新しい IntField/LongField/FloatField/DoubleField に切り替え #93165
  • モニタリング
    • kibana.stats.elasticsearch_client 統計をモニタリングインデックステンプレートに追加 #91508
    • es ingest metricset のモニタリングマッピングを追加 #92950
  • ネットワーク
    • ハンドリングスレッドプールでのレスポンスのデシリアライズ #91367
  • パフォーマンス
    • マイクロベンチマークにベクトル距離スコアリングを追加 #92340
  • クエリ言語
    • パラメータ化されたルールとエグゼキュータを導入 #92428
  • 回復
    • レプリカのピアリカバリのためにファイルのクリーンアップステップを構成可能にする #92490
  • 検索
    • ターム辞書へのアクセスをより効率的にする #92269
    • term クエリサポートを rank_features マッピングフィールドに追加 #93247
    • knn 検索句に新しい query_vector_builder オプションを追加 #93331
    • プロファイリングプラグインを追加 #91640
    • プロファイリングプラグインをデフォルトで有効にする #92787
    • スタックフレームと実行可能ファイルをより同時に取得 #93559
    • ブルームフィルターの偽陽性率を7つのハッシュ関数を設定することで改善 #93283
    • GETスレッドプールのスレッド数を増加 #92309
    • ProfileWeight における Weight#count を計測 #85656 (問題: #85203)
    • match all bitset のメモリ使用量を削減 #92777
    • 実行時フィールドがスクリプトエラーをオプションで無視する #92380
    • フレームグラフのデータ取得を高速化 #93448
    • インラインスタックフレームの取得をサポート #92863
    • [プロファイリング] GC圧力を減少 #93590
  • セキュリティ
    • 無効化または期限切れのAPIキーのための構成可能な保持期間 #92219
    • APIキーの無効化時にタイムスタンプを記録 #91873
  • スナップショット/復元
    • RecoveryPlannerService をオプションにする #92489
  • TSDB
    • tsdbインデックスの _id フィールドにブルームフィルターを有効にする #92115
    • マップルックアップを削除することでダウンサンプリングパフォーマンスを改善 #92494 (問題: #90226)
    • マイナーなTSDBパースのスピードアップ #92276
    • ドキュメントのタイムスタンプを含まないセグメントの重複チェックをスキップ #92456
    • 最後のケースで合成ソースに fields をサポート #91595
  • タスク管理
    • TransportGetTaskAction: タスクを非同期で待機 #93375
    • TransportListTaskAction: タスクが非同期で終了するのを待機 #90977 (問題: #89564)
  • トランスフォーム
    • Transform Start API に from パラメータを追加 #91116 (問題: #88646)
    • DateHistogramGroupSource で「offset」パラメータをサポート #93203
    • 時間に基づいて状態の永続化をトリガー #93221
  • ベクトル検索
    • nulldense_vector フィールド値に提供できるようにする #93388
    • 複数のKNN検索句を許可 #92118 (問題: #91187)
  • ウォッチャー
    • WatcherのWebhookアクションが追加ヘッダーを送信できる機能を追加 #93426

新機能

  • 分散
    • Stateless で yml にフォールバックできるセキュア設定 #91925
  • 地理
    • geo_shape フィールドでのジオヘックス集約 #91956 (問題: #90163)
    • geo_grid インジェストプロセッサをサポート #93370 (問題: #92473)
  • 健康
    • Health API が一般に利用可能になりました #92879
    • [HealthAPI] 影響を受けるリソースの数を制御するサイズパラメータを追加 #92399 (問題: #91930)
    • [HealthAPI] FEATURE_STATE 影響を受けるリソースのサポートを追加 #92296 (問題: #91353)
  • インフラ/プラグイン
    • [Fleet] ファイルとファイルデータのインデックステンプレートおよびILMポリシーを追加 #91413
  • Ingest Node
    • インジェストプロセッサのレダクション #92951
  • 機械学習
    • frequent_item_sets 集約をGAにする #93421
    • ネイティブ推論を一般に利用可能にする #92213
  • TSDB
    • TSDBレート集約を追加 #90447
    • ダウンサンプリングGA #92913
    • time_series と rate (カウンタフィールドで) 集約をテクニカルプレビューとしてリリース #93546
    • 時系列 (TSDS) GA #91519
  • トランスフォーム

アップグレード

  • Infra/Core
    • Jackson のすべての使用を 2.14.2 に揃える #93438
  • Ingest Node
    • tika を 2.6.0 にアップグレード #92104
  • ネットワーク
    • Netty を 4.1.85 にアップグレード #91846
    • Netty を 4.1.86 にアップグレード #92587
  • クエリ言語
    • ql, eql および sql 用に antlr を 4.11.1 にアップグレード #93238
  • 検索
    • Lucene を 9.5.0 にアップグレード #93385
    • lucene-9.5.0-snapshot-d19c3e2e0ed にアップグレード #92957
  • スナップショット/復元
    • protobuf のすべての使用を 3.21.9 に揃える #92123
    • reactor netty バージョンを上げる #92457
    • google-oauth-client を最新バージョンに統合 #91722