|
Elasticsearchは、Luceneライブラリをベースに構築された検索エンジンです。分散型、マルチテナント型の全文検索エンジンで、HTTPウェブインターフェースとスキーマレスなJSONドキュメントをサポートしています。ElasticsearchはJavaで開発され、SSPL+Elasticライセンスの下でオープンソースソフトウェアとしてリリースされています。公式クライアントは、Java、.NET(C#)、PHP、Python、Apache Groovy、Rubyなど、多くの言語で利用可能です。 約 3 年後、Elasticsearch 8 が正式にリリースされ、次のような新機能が追加されました。 7.x REST API 互換性Elasticsearch 8.0では、Elasticsearch REST APIにいくつかの重要な変更が導入されました。これらの変更に対応するためにアプリケーションをアップデートすることは不可欠ですが、アップグレード後にすべてのAPI呼び出しを検索してアップデートするのは、開発者にとって面倒でエラーが発生しやすい作業になる可能性があります。このプロセスを容易にするために、ElasticsearchはREST APIに7.x互換ヘッダーのサポートを追加しました。これらのオプションのヘッダーファイルを使用すると、8.0クラスターに対して7.x互換のリクエストを送信し、7.x互換のレスポンスを受け取ることができます。 開発者はネイティブ 8.0 のリクエストとレスポンスを使用するようにアプリケーションを更新することが公式にはまだ推奨されていますが、7.x API 互換のヘッダー ファイルを使用すると、より長期間にわたって安全にこれらの変更を行うことができます。 セキュリティ機能はデフォルトで有効化され、構成されています。セキュリティ対策を講じずにElasticsearchを実行すると、Elasticsearchにリクエストを送信できるすべてのユーザーにクラスターが公開されます。以前のバージョンでは、認証、認可、ネットワーク暗号化(TLS)などのElasticsearchのセキュリティ機能を明示的に有効にする必要がありました。Elasticsearch 8.0以降では、これらのセキュリティ機能はElasticsearchの初回起動時にデフォルトで有効化され、設定されます。 Elasticsearch 8.0は起動時に登録トークンを生成します。このトークンを使用することで、セキュリティ証明書の生成やYAML設定ファイルの更新をすることなく、Kibanaインスタンスに接続したり、セキュアなElasticsearchクラスター内の他のノードを登録したりできます。新しいノードまたはKibanaインスタンスを起動する際に、生成された登録トークンを使用するだけで、Elastic Stackがすべてのセキュリティ設定を自動的に処理します。 既知の問題:
bin / elasticsearch -リセット-パスワード- u elastic
bin / elasticsearch - 作成-登録-トークン- s kibana システムインデックスの保護強化システムインデックスは、Elastic関数の設定と内部データを保存します。通常、システムインデックスはこれらの関数による内部使用のみを目的として予約されています。システムインデックスへの直接アクセスや変更は可能ですが、不安定性などの問題を引き起こす可能性があります。 Elasticsearch 8.0では、システムインデックスへの直接アクセスを防止するための変更がいくつか行われました。システムインデックスにアクセスするには、ユーザーは「allow_restricted_indices」権限を「true」に設定する必要があります。 スーパーユーザーロールは、システムインデックスへの書き込み権限を付与しなくなりました。そのため、Elasticの組み込みスーパーユーザーは、デフォルトではシステムインデックスを変更できません。 今後、開発者はシステムインデックスにアクセスするのではなく、Kibanaまたは関連するElasticsearch APIを使用して特定の関数のデータを管理する必要があります。システムインデックスに直接アクセスすると、ElasticsearchはAPIレスポンスヘッダーと古いログに警告を返します。 新しいKNN検索APIElasticsearch 8.0では、KNN検索APIのテクニカルプレビューが導入されました。k近傍法(KNN)検索は、`dense_vector`フィールドを使用して、クエリベクトル(類似度メトリックで測定)のk近傍点を検索します。KNNは、自然言語処理(NLP)アルゴリズムに基づくレコメンデーションエンジンや関連性ランキングのサポートに広く利用されています。 これまでElasticsearchは、ベクトル関数を用いた`script_score`クエリを用いた正確なKNN検索のみをサポートしていました。このアプローチは正確な結果を保証する一方で、検索速度が遅くなることが多く、大規模なデータセットではスケーリングがうまくいかないという問題がありました。インデックス作成の遅延と不完全な精度というトレードオフとして、新しいKNN検索APIでは、大規模なデータセットで近似KNN検索をより高速に実行できるようになりました。 キーワード、match_only_text、テキスト フィールドのストレージ スペースを節約します。このリリースでは、よりスペース効率の高いエンコーディングを使用する内部データ構造である転置インデックスが更新されました。この変更は、キーワード、match_only_text、およびテキストフィールドに効果があります。アプリケーションログを使用したベンチマークでは、このメッセージフィールド(match_only_textにマッピング)への移行により、インデックスサイズが14.4%、ディスク使用量が全体で3.5%削減されました。 geo_point、geo_shape、range フィールドのインデックス作成を高速化します。新バージョンでは、geo_point、geo_shape、rangeフィールドで使用される内部データ構造である多次元ポイントのインデックス作成速度が最適化されています。Luceneレベルのベンチマークでは、これらのフィールドタイプのインデックス作成速度が10~15%向上しています。これらのフィールドを主に含むElasticsearchのインデックスとデータストリームでは、インデックス作成速度が大幅に向上する可能性があります。 PyTorch モデルは自然言語処理 (NLP) をサポートしています。Elasticsearch外でトレーニングされたPyTorchモデルをアップロードし、推論に使用できるようになりました。サードパーティモデルのサポートにより、Elastic Stackで最新の自然言語処理(NLP)と検索のユースケースを活用できるようになります。 その他の変更点集計:
割り当て:
分析:
認証:
クラスター調整:
配布先:
エンジン:
機能/CAT API:
機能/ILM+SLM:
機能/インデックスAPI
インフラ/コア
パッケージ
... 詳細については、https://www.elastic.co/cn/blog/whats-new-elastic-8-0-0 をご覧ください。 |