インデックス構成パラメータ

類似度検索のインデックスを構成するには、次のフィールドを構成する必要があります。

インデックスの構成方法については、インデックス パラメータを構成するをご覧ください。

フィールド
contentsDeltaUri

string

ベクトル検索 Index の内容を挿入、更新、削除できるようにします。文字列は、有効な Cloud Storage ディレクトリ パス(gs://BUCKET_NAME/PATH_TO_INDEX_DIR/ など)でなければなりません。

IndexService.UpdateIndex を呼び出す際にこのフィールドを設定した場合、同じ呼び出しで他の Index フィールドは更新できません。個々のデータファイルを構造化する方法をご覧ください。

isCompleteOverwrite

boolean

IndexService.UpdateIndex を呼び出す際にこのフィールドを contentsDeltaUri とともに設定すると、Index の既存の内容が contentsDeltaUri のデータに置き換えられます。このフィールドを true に設定すると、インデックス全体が、指定した新しいメタデータ ファイルで完全に上書きされます。

config

NearestNeighborSearchConfig

ベクトル検索 Index の構成。

NearestNeighborSearchConfig

フィールド
dimensions

int32

必須。入力ベクトルの次元数。高密度エンベディングにのみ使用されます。

approximateNeighborsCount

int32

tree-AH アルゴリズムを使用する場合は必須。

正確な並べ替えが実行される前に近似探索によってデフォルトで探索される近傍数。正確な並べ替えとは、近似探索アルゴリズムによって返された結果が、よりコストの高い距離計算によって並べ替えられる手続きです。

ShardSize ShardSize

各シャードのサイズ。インデックスが大きい場合は、指定されたシャードサイズに基づいてシャーディングされます。サービング時に、各シャードは個別のノードでサービングされ、個別にスケーリングされます。

distanceMeasureType

DistanceMeasureType

最近傍探索で使用される距離尺度。

featureNormType

FeatureNormType

各ベクトルに対して実行される正規化のタイプ。

algorithmConfig oneOf:

ベクトル検索で効率的な検索に使用されるアルゴリズムの構成。高密度エンベディングにのみ使用されます。

  • TreeAhConfig: tree-AH アルゴリズムを使用するための構成オプション。詳細については、TensorFlow Recommender とベクトル検索を使用したディープ リトリーブのスケーリングに関するブログ記事をご覧ください。
  • BruteForceConfig: このオプションは、各クエリに対する標準の線形探索をデータベースに実装します。ブルート フォース検索用に構成するフィールドはありません。このアルゴリズムを選択するには、BruteForceConfig に空のオブジェクトを渡します。

DistanceMeasureType

列挙型
SQUARED_L2_DISTANCE ユークリッド(L2)距離
L1_DISTANCE マンハッタン(L1)距離
DOT_PRODUCT_DISTANCE デフォルト値。ドット積の負の値として定義されます。
COSINE_DISTANCE コサイン距離。COSINE 距離の代わりに DOT_PRODUCT_DISTANCE + UNIT_L2_NORM を使用することを強くおすすめします。Google のアルゴリズムは DOT_PRODUCT 距離向けに最適化されており、UNIT_L2_NORM と組み合わせると、COSINE 距離と同じランキングおよび数学的等価性を提供します。

ShardSize

列挙型
SHARD_SIZE_SMALL シャードあたり 2 GiB
SHARD_SIZE_MEDIUM シャードあたり 20 GiB
SHARD_SIZE_LARGE シャードあたり 50 GiB

FeatureNormType

列挙型
UNIT_L2_NORM ユニット L2 正規化タイプ。
NONE デフォルト値。正規化タイプは指定されません。

TreeAhConfig

tree-AH アルゴリズムで選択するフィールドは次のとおりです。

フィールド
fractionLeafNodesToSearch double
クエリが検索されるリーフノードのデフォルトの割合。0.0~1.0 の範囲(両端を除く)を指定してください。設定されない場合は、デフォルト値の 0.05 になります。
leafNodeEmbeddingCount int32
各リーフノードに対する埋め込みの数。設定されない場合は、デフォルト値の 1,000 になります。
leafNodesToSearchPercent int32
非推奨: fractionLeafNodesToSearch を使用します。

クエリが検索されるリーフノードのデフォルトの割合。すべて含めて 1~100 の範囲にする必要があります。設定されない場合は、デフォルト値の 10(つまり 10%)になります。

BruteForceConfig

このオプションは、各クエリに対する標準の線形探索をデータベースに実装します。ブルート フォース検索用に構成するフィールドはありません。このアルゴリズムを選択するには、BruteForceConfig の空のオブジェクトを algorithmConfig に渡します。