混合型搜尋函式參數

AlloyDB Omni hybrid_search 函式接受多個參數,可控管搜尋和融合程序。瞭解這些參數有助於您調整搜尋結果,滿足特定需求。本文將概略介紹可用的參數。如要瞭解如何使用 vector 擴充功能執行混合型搜尋,請參閱「執行混合型向量相似度搜尋」。

主要參數

參數 類型 說明
search_inputs JSONB[] 這是必要旗標,JSONB 物件的陣列,每個物件都會定義搜尋元件。
id_type anyelement 輸出 ID 欄的資料類型。預設值為 NULL::TEXT。
include_json_output BOOLEAN 在結果中加入詳細的 JSON 輸出內容。預設為 FALSE。如果設為 TRUE,可能會影響查詢效能。
fusion_algorithm TEXT 要使用的融合演算法。目前僅支援 'RRF'。預設值為 'RRF'。

在 search_inputs JSONB 物件中,將 data_type 欄位設為 'vector'。

參數 類型 說明
data_type TEXT 這是必要旗標,必須為 'vector'。
table_name TEXT 這是必要旗標,要搜尋的資料表名稱。
key_column TEXT 這是必要旗標,文件 ID 欄的名稱。
vec_column TEXT 這是必要旗標,向量欄的名稱。
distance_operator TEXT 這是必要旗標,要使用的距離運算子,例如餘弦距離的 '<=>'。
query_vector TEXT 這是必要旗標,要搜尋的向量字串表示法。
limit INTEGER 這是必要旗標,這個搜尋元件傳回的結果數量上限。
weight FLOAT 這個元件對最終 RRF 分數的貢獻,介於 0.0 到 1.0 之間。如未提供權重,系統會平均分配。
filter_condition TEXT 要套用至這個元件子查詢的 SQL WHERE 子句。

Text Search 參數

在 search_inputs JSONB 物件中,將 data_type 欄位設為 'text'。

參數 類型 說明
data_type TEXT 這是必要旗標,必須為 'text'。
table_name TEXT 這是必要旗標,要搜尋的資料表名稱。
key_column TEXT 這是必要旗標,文件 ID 欄的名稱。
text_column TEXT 這是必要旗標,tsvector 或文字資料欄的名稱。
query_text_input TEXT 這是必要旗標,用於比對關鍵字的文字字串。
limit INTEGER 這是必要旗標,這個搜尋元件傳回的結果數量上限。
weight FLOAT 這個元件對最終 RRF 分數的貢獻,介於 0.0 到 1.0 之間。如未提供權重,系統會平均分配。
ranking_function TEXT 全文搜尋排名函式。如果是 GIN 索引,請設為 'ts_rank'。如果是 RUM 索引,請設為 '<=>'。預設為 'ts_rank'。
query_parser TEXT 全文搜尋查詢剖析器函式。預設值為 'ai.g_to_tsquery'。
filter_condition TEXT 要套用至這個元件子查詢的 SQL WHERE 子句。

後續步驟