索引設定參數

如要設定相似性搜尋的索引,您需要設定下列欄位。

如需設定索引的操作說明,請參閱「設定索引參數」。

欄位
contentsDeltaUri

string

允許插入、更新或刪除 Vector Search 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:

Vector Search 用於高效率搜尋的演算法設定。僅適用於密集嵌入。

  • TreeAhConfig:使用 tree-AH 演算法的設定選項。詳情請參閱這篇網誌: 使用 TensorFlow Recommenders 和 Vector Search 擴充深度檢索功能
  • BruteForceConfig:這個選項會針對每個查詢,在資料庫中實作標準線性搜尋。沒有可設定的欄位,無法進行暴力搜尋。如要選取這項演算法,請傳遞 BruteForceConfig 的空白物件。

DistanceMeasureType

列舉
SQUARED_L2_DISTANCE 歐幾里得 (L2) 距離
L1_DISTANCE 曼哈頓 (L1) 距離
DOT_PRODUCT_DISTANCE 預設值。定義為點積的負數。請注意,稀疏索引僅支援點積距離。
COSINE_DISTANCE 餘弦距離。強烈建議您將 DOT_PRODUCT_DISTANCE 與 UNIT_L2_NORM 搭配使用,而不要使用 COSINE 距離。我們的演算法已針對 DOT_PRODUCT 距離進行最佳化,如將 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.0 與 1.0)。如未設定,則預設值為 0.05。
leafNodeEmbeddingCount int32
每個分葉節點的嵌入項目數量。如未設定,則預設值為 1000。
leafNodesToSearchPercent int32
已淘汰,請改用 fractionLeafNodesToSearch

任何查詢可能獲得搜尋的預設分葉節點百分比。 必須介於 1 到 100 之間 (含 1 和 100)。如未設定,預設值為 10 (即 10%)。

BruteForceConfig

這個選項會針對每個查詢,在資料庫中實作標準線性搜尋。沒有可設定的欄位,無法進行暴力搜尋。 如要選取這項演算法,請傳遞 BruteForceConfig 的空物件至 algorithmConfig