🔍

[翻訳]OpenSearch 3.1 がリリースされました

に公開

本記事は OpenSearch Project Blog "Get started with OpenSearch 3.1" の翻訳版です。

最近リリースされたOpenSearch 3.0は、パフォーマンス、検索、生成 AI などの画期的な開発により、プロジェクトの技術スタックを大幅に前進させました。

OpenSearch 3.1は、3.xシリーズにさらなるイノベーションをもたらし、インデックス作成パフォーマンスの向上、検索結果の改善、オブザーバビリティデータのより深い分析、より強力なエージェントAIソリューションの構築、そして OpenSearch デプロイメントのセキュリティ維持を支援する数多くのアップデートを提供します。

以下は、OpenSearch の最新バージョンからのハイライトの一部です。新機能の包括的な概要については、リリースノートをご覧ください。OpenSearch を始めるには、お好みのディストリビューションをダウンロードするか、OpenSearch Playground でツールキットを探索してください。

ベクトルデータベースと生成 AI

OpenSearch 3.1では、ベクトル検索のパフォーマンス向上、アプリケーション開発と管理の簡素化、機械学習(ML)デプロイメントのオブザーバビリティ強化を目的とした新機能が導入されています。

GPU 処理によるベクター検索のパフォーマンス向上とコスト改善

OpenSearch 3.0 で実験的機能としてリリースされた、インデックス構築の GPUアクセラレーションが、OpenSearch 3.1 では一般提供となり、本番環境での利用が可能になりました。

GPU アクセラレーションを有効にすると、計算集約的なインデックス構築操作でGPUの並列処理能力を活用でき、CPU ベースのソリューションと比較して構築時間を9.3倍短縮し、コストを3.75倍削減できます。GPU アクセラレーションによって実現される機能の詳細については、ブログ記事「GPU-accelerated vector search in OpenSearch: A new frontier」をご覧ください。

Update Agent API によるエージェント管理の強化

OpenSearch 3.1 では、新しい Update Agent API によるエージェント管理の貴重な強化を導入しています。

以前は、モデル ID、ワークフローツール、プロンプトなどの設定を変更する際に、ユーザーは完全に新しいエージェントを作成する必要があり、不要なオーバーヘッドと放棄されたエージェントインスタンスが発生していました。新しい API では既存のエージェントを直接更新でき、エージェント管理を合理化し、エージェントの再作成の必要性を排除します。

機械学習操作のメトリクス取得と洞察の獲得

ML Commons ツールセットが OpenSearch メトリクスフレームワークと完全に統合され、完全なOpenTelemetry 互換性を持つ包括的な監視機能が利用可能になりました。

このフレームワークには、重要なコードパス沿いでランタイムメトリクスを取得する動的インストルメンテーションと、状態レベルのメトリクスを報告するスケジュールされたジョブによる静的収集の両方が含まれています。

ユーザーは設定可能な設定を通じてメトリクス収集を管理でき、ML Commons 操作への詳細な可視性を実現し、メトリクスが段階的に取得されることで時間の経過とともにオブザーバビリティデータへのより深い洞察を得ることができます。

これにより、主要な使用パターン、パフォーマンストレンド、ML Commons デプロイメントの潜在的なボトルネックを追跡するための堅牢なオブザーバビリティソリューションを構築し、システムの最適化とトラブルシューティングを改善できます。

Lucene HNSW グラフ検索による Faiss インデックス検索の効率向上

OpenSearch 3.1 では、Lucene の HNSW グラフ検索アルゴリズムが既存の Faiss インデックス上で直接実行できるようになりました。

Faiss C++ ライブラリはインデックス全体をメモリに読み込む必要があり、並行検索の最適化が不足しています。一方、Lucene は部分的なバイト読み込みをサポートし、効果的な早期終了メカニズムを組み込んでいます。

これにより、ユーザーはメモリ制約のある環境で大規模なベクター検索を実行できるようになり、従来の Faiss C++ では実現できなかった検索も可能になります。例えば、この機能を使用することで、16 GB のメモリしか持たないインスタンスでも 30 GB の Faiss インデックスに対してベクター検索を実行できるようになります。

更に、量子化ワークフローでは、早期終了機能により Faiss C++ と比較して最大 2 倍高速なパフォーマンスを実現できます。

OpenSearch Flow のアップグレードによるワークフロー開発の簡素化

OpenSearch Flow は、このリリースで大幅なアップグレードが実施されました。

再設計されたワークフロー詳細ページでは、すべての取り込みと検索コンポーネントを統一ビューで表示し、エンドツーエンドの設定を簡素化します。動的レイアウトとコンテキスト編集機能により、複雑なアーキテクチャをより見やすく管理しやすい形で表示し、使いやすさが大幅に向上しています。

新しいセマンティック検索テンプレートスパースエンコーダーを使用したセマンティック検索の新しいワークフローテンプレートが追加され、テキスト検索のデプロイメントが簡素化されました。このテンプレートはセマンティック類似性に基づいて結果をランク付けし、検索体験の品質と関連性を向上させます。
このテンプレートは [OpenSearch Neural Sparse Encoder(https://huggingface.co/opesearch-project/opensearch-neural-sparse-encoding-v2-distill) を使用してテキストをスパースベクターに変換します。特に 1,000 万件以下のドキュメントを持つ小規模なインデックスにおいて、密な (k-NN) 検索と比較してコスト効率的なアプローチを提供します。

OnDisk 4x 圧縮リスコアリングによる検索再現率の向上

OpenSearch 3.1 では、OnDisk 4 倍圧縮における機能が強化されました。4 倍圧縮を使用する新しいインデックスに対して、デフォルトでリスコアリングサポートが有効になっています。この機能強化により、検索精度の向上と効率的なデータストレージのバランスをユーザーが柔軟に調整できるようになります。圧縮によるパフォーマンスと効率性の利点を維持しつつ、高い検索再現率の品質も同時に実現します。

ユーザーはパフォーマンスをさらに最適化するための柔軟性も備えています。例えば、より高い再現率を求める場合は、オーバーサンプリング係数をデフォルト値の 1.0 よりも高く設定することが可能です。一方で、従来の動作を希望するユーザーは、rescore を明示的に false に設定するオプションも利用できます。

セマンティックフィールドタイプによるセマンティック検索設定の合理化

OpenSearch 3.1 では、セマンティック検索の設定を簡素化する新しいsemantic field typeが導入されました。インデックスマッピングで semantic フィールドを定義する際は、関連する ML モデル ID を指定するだけで済みます。OpenSearch がモデルのメタデータに基づいて適切な埋め込みフィールドを自動作成するため、knn_vectorrank_features を手動で設定する必要がありません。

データ取り込み時には、OpenSearch が定義済みの ML モデルを使用してベクター埋め込みを自動生成します。カスタム取り込みパイプラインを作成する手間が不要になりました。

マッピングで簡単なフラグを設定するだけで、テキストチャンキング機能を有効化できます。この機能により、長いテキスト入力が自動的に適切なパッセージに分割されます。

neural クエリが semantic フィールドを直接サポートするようになったため、プレーンテキストでクエリを実行できます。埋め込み生成とフィールド解決は OpenSearch が自動的に処理します。

新しい API と永続的ツールによる MCP 管理の簡素化

OpenSearch 3.0 では、AI エージェントとのシームレスな統合を提供するために、組み込みの Model Context Protocol (MCP) サポートを導入しました。3.1 リリースでは、2 つの追加 API を公開することでこの機能を強化しています。MCP ツールを更新できる update MCP tools API と、システム内のすべての MCP ツールを確認できる list MCP tools API です。MCP ツールの情報は新しく導入されたシステムインデックスに永続化されるようになったため、クラスターまたはノードレベルでの再起動後にツールが失われることがありません。

検索

このリリースでは、検索結果の改善とリソース管理の向上を目的とした数多くの新機能が導入されています。

Search Relevance Workbench による検索アルゴリズムのテスト、評価、最適化

検索チームにとって、高品質な検索結果を維持するには継続的な評価と調整が欠かせません。多くの検索実践者は、結果の測定、比較、最適化のために自作スクリプトやスタンドアロンツールに頼っており、組み込みツールセットの利点を活用できていないのが現状です。OpenSearch 3.1 より、検索チームが実験と最適化を通じて検索品質を向上させるため、OpenSearch 検索エンジンに統合された包括的なツールスイートを利用できるようになりました。

Search Relevance Workbench を使用することで、OpenSearch での検索戦略の探索、実験、調整が可能になります。今月の Berlin Buzzwords search conference で発表されたこのツールは、検索アルゴリズムの結果比較、User Behavior Insights を通じたユーザー活動に基づく検索品質評価、そして OpenSearch UI 内での NDCG などのメトリクスを使用した詳細な検索評価機能を提供します。

OpenSearch Dashboards と統合された Search Relevance Workbench は、ソースデータへの直接アクセスと、実世界での最適化および高速な結果取得をサポートする包括的なテストオプションを備えています。開始方法についてはドキュメントをご覧ください。このツールセットへの貢献について、OpenSource
Connections
のチームに特別な感謝を表します。

特定のクエリを調査する機能を持つ、クエリ全体での検索結果への変更の影響を可視化します。

スターツリーインデックス機能による検索パフォーマンスの加速

OpenSearch 3.1 では、スターツリーインデックスがすべてのユーザーに一般提供されます。バージョン 2.18 で実験的機能としてリリースされたスターツリーインデックスは、集約のパフォーマンスを最大 100 倍向上させ、包括的な範囲のクエリと集約タイプをサポートできます。スターツリーインデックスが提供できる機能の詳細については、ブログ記事「The power of star-tree indexes: Supercharging OpenSearch aggregations」をご覧ください。

ワークロード管理の改善によるクラスターリソースの制御強化

このリリースにより、OpenSearch ユーザーはインデックスベースの自動タグ付け機能を活用できるようになります。この機能は、テナントグループの管理において、ヘッダーを介した検索リクエストの明示的なタグ付けを不要にし、クラスターリソースの消費方法に関するルールを定義するための強力なツールとなります。これにより検索ワークロードのリソース管理が簡素化され、クラスター管理者は各検索リクエストグループがクラスターのメモリと CPU リソースをどの程度利用するかを定義できるようになり、より大きな制御権を得てクラスターの回復力を向上させることができます。

ハイブリッドクエリの応答時間改善

このリリースでは、ハイブリッド検索のパフォーマンスを向上させる高度なドキュメント収集とスコアリング技術を導入し、クエリ応答時間で最大 65%、スループットで最大 3.5 倍の改善を実現しました。これらのアルゴリズム強化は、語彙検索とセマンティック検索結果の融合中に OpenSearch が一致するドキュメントを識別してランク付けする方法を最適化し、本番ワークロードでハイブリッド検索をさらに効率的にします。

オブザーバビリティ、ログ分析、セキュリティ分析

OpenSearch 3.1 では、監視対象システムとアプリケーションへのより深い洞察のためのオブザーバビリティと分析ワークロードをサポートする多数の新機能を組み込んでいます。

アップグレードされたトレーシングと相関機能による複雑な分析の強化

組織が分散システムとマイクロサービスアーキテクチャを採用するにつれて、異なる形式と複数のクラスター間でログとトレースを相関させることが困難になるケースが増えています。OpenSearch 3.1 では、OpenTelemetry スパン、ログ、サービスマップを含むカスタムインデックス名のサポートにより、これらの課題に対処しています。ユーザーは、OpenTelemetry 形式に準拠しないログインデックスに対して、カスタムフィールド timestampserviceNamespanIdtraceId をマッピングすることも可能です。さらに、複数の OpenSearch クラスター間で大規模分散システムを運用する企業向けに、トレースの新しいクラスター間検索機能により、クラスター境界を越えたシームレスなトレース分析が実現されます。トレースからログへの相関機能の新機能と、トレース Gantt チャート、サービスマップ可視化、階層トレースビ
ューの改善により、ログ形式やデプロイメントアーキテクチャに関係なく、複雑な分散アプリケーションの監視、トラブルシューティング、保守が容易になります。

トレース詳細を可視化し、レイテンシとサービスへの影響を特定し、ログを相関させて調査を加速します。

新しい PPL コマンドによるネストした JSON 構造の分析とクエリ

組織が OpenSearch にますます複雑な JSON データを保存するにつれて、ネストした JSON 構造を効率的に分析してクエリしようとする際に課題に直面する可能性があります。データエンジニアとアナリストは、深くネストした JSON オブジェクトから特定の値を抽出したり、ネストした配列をより分析可能な形式に変換したりする必要が頻繁にあります。OpenSearch 3.1 では、JSON 操作のための強力な JSON 関数と新しい Piped Processing Language (PPL) コマンドによるソリューションを導入しています。新しい json_extractjson_value、および関連する JSON 関数により、JSON 構造内の特定の要素に簡単にアクセスして操作でき、flattenexpand コマンドにより、ネストした JSON データをより簡単な分析のための表形式に変換できます。これらの機能により、複雑な回避策の必要性が排除され、OpenSearch 内で直接 JSON データの高度な分析が可能になり、データ処理ワークフローが合理化され、分析機能が向上します。追加のアップデートには、20 以上の新しい PPL コマンドと関数が含まれ、OpenSearch のオブザーバビリティツールでデータを探索する追加の方法を提供します。

セキュリティ

OpenSearch 3.1 には、OpenSearch デプロイメントのセキュリティ維持を支援するように設計されたいくつかのアップデートが含まれています。

不変ユーザーオブジェクトによる Security プラグインパフォーマンスの向上

このリリースでは、ユーザーオブジェクトを不変にするアップデートを含む、Security プラグインのパフォーマンス向上を目的としたいくつかのアップデートを提供します。これにより、リクエストの処理中にこのオブジェクトがクラスター内で内部的に渡される際に必要なシリアル化とデシリアル化の数が削減されます。不変ユーザーオブジェクトにより、ユーザーは認証成功後に一度だけシリアル化され、その後再利用されるため、パフォーマンスオーバーヘッドが削減されます。さらに、権限評価を最適化する継続的な取り組みが tenant_permissions を包含するようになりました。OpenSearch ロールは事前計算されたデータ構造を完全に活用します。マルチテナンシーを使用するクラスター (特に多数のテナントを持つクラスター) は、さまざまなリクエストタイプ全体でパフォーマンス向上を実現します。

リソース共有とアクセス制御の強化によるセキュリティ態勢の改善

このリリースでは、OpenSearch デプロイメントのセキュリティ態勢を改善するように設計された実験的機能を導入しています。エンドユーザー体験に変更はありませんが、この機能は共有とアクセス認可設定を個別のプラグインから Security プラグインに移動します。プラグインはこの新機能にオンボードする必要があります。この実験的機能リリースでは、Anomaly Detection が新しい認可フレームワークをサポートするように更新されています。シームレスな体験を確保するために、この機能は Anomaly Detection 独自の filter_by_backend_roles 機能フラグと併せて有効にする必要があります。既存のクラスターを移行するためのツールはまだリリースされていないため、新しく作成された 3.1 クラスターでのみこの機能を使用することをお勧めします。

開始方法

OpenSearch の最新バージョンはダウンロードページで見つけることができ、OpenSearch Playground で可視化ツールを確認できます。詳細については、リリースノートドキュメントリリースノート、および更新されたドキュメントをご覧ください。他のソフトウェアプロバイダーから OpenSearch への移行を検討している場合は、このプロセスを支援するように設計されたツールとドキュメントをこちらで提供しています。

このリリースに関する貴重なフィードバックを共有し、他の OpenSearch ユーザーと接続するために、コミュニティフォーラムにお気軽にお越しください。また、Slack インスタンスでも交流できます。


OpenSearch は、データの取り込み、検索、可視化、分析を簡単にするコミュニティ主導の Apache 2.0 ライセンスのオープンソース検索・分析スイートです。

Discussion