すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:ベクトル検索

最終更新日:Dec 28, 2024

概要

多様化かつ複雑化するビジネス要件に対応するため、OpenSearchはベクトル検索機能を提供しています。特定のシナリオ、特にテスト問題検索や画像検索シナリオでは、ベクトル検索機能をマルチモーダル検索機能と併用することで、検索結果の精度を向上させることができます。このトピックでは、ベクトルインデックスの構文使用上の注意について説明します。

構文

query = vector_index:'Vector'

Example: 64次元ベクトルインデックスを使用してデータをクエリする
vector: '0.377796,-0.958450,0.409853,-0.238177,-1.293826,0.356797,-0.295727,0.847301,-1.220337,0.148032,-1.128458,0.903187,0.509352,0.293686,-1.005852,-0.488839,0.888227,-0.555556,-0.658025,0.267552,-0.567601,0.003045,0.591734,-0.515983,-1.316453,-1.462450,0.091946,1.554954,0.384802,0.720498,0.144338,1.217826,0.724039,0.044212,0.571332,-1.425430,0.618965,0.481887,-1.617787,1.505416,-0.683652,1.030900,0.562021,0.162437,0.816546,0.112229,-0.739288,-0.342643,-0.199292,0.508368,-1.384887,-1.842170,0.952622,-1.699499,0.199430,-0.232464,-0.273227,-0.383696,-0.511302,0.005458,1.873572,-0.926169,-0.417587,-0.660156'

指定したしきい値を含むクエリの構文

説明: スコアが指定した下限しきい値よりも低い場合、または指定した上限しきい値よりも高い場合、ベクトルが取得プロセスに関与しないことを指定します。

パラメーター形式: &sf=number

:

query=index_name:'0.1,0.2,0.98,0.6;0.3,0.4,0.98,0.6&sf=0.8'

上位 N 個のベクトルをクエリする構文

説明: 返される上位 N 個のベクトルを指定します。

パラメーター形式: &n=number

  • N パラメーターをベクトルの後に連結します。

:

query=vector_index:'0.1,0.2,0.98,0.6;0.3,0.4,0.98,0.6&n=10'

ベクトルのスコアに基づいて結果を並べ替えるクエリの構文

説明: 並べ替え式で proxima_score () 関数を指定して、ベクトルのスコアに基づいてクエリ結果を並べ替えます。

手順:

  1. 詳細な並べ替えポリシーを作成します。

image

: proxima_score 関数のパラメーターとしてベクトルインデックスの名前を指定します。

  1. 次の図は、作成された詳細な並べ替えポリシーを使用して、検索テストページでテストを実行する方法を示しています。

image

説明
  • ベクトル距離は2つのタイプをサポートしています。デフォルトでは、システムはユークリッド距離 (l2) を距離のタイプとして採用します。

  • 内積距離 (ip): ベクトルのスコアが大きいほど、ドキュメントの関連性が高くなります。

  • ユークリッド距離 (l2): ベクトルのスコアが小さいほど、ドキュメントの関連性が高くなります。

使用上の注意

  • デフォルトでは、ベクトルインデックスが構築されるときに、システムはユークリッド距離 (l2) をベクトル距離のタイプとして採用します。内積距離 (ip) を採用する場合は、内積距離タイプのベクトルを正規化してから、エンジンにデータを渡す必要があります。

  • ベクトルインデックスは、DOUBLE_ARRAY タイプのフィールドにのみ適用できます。

  • OpenSearch は、64 次元、128 次元、256 次元、および 512 次元のベクトルアナライザーをサポートしています。DOUBLE_ARRAY タイプのフィールドには、各タイプのベクトルアナライザーと一致するように、64、128、256、または 512 個の要素も含まれている必要があります。

  • ベクトルインデックスの最大長は、エンコード前は 4 KB です。1 つのクエリは最大 2 つのベクトルインデックスをサポートします。