本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 OpenSearch Serverless 上設定神經搜尋和混合搜尋
神經搜尋
Amazon OpenSearch Serverless 支援對資料進行語意搜尋操作的神經搜尋功能。神經搜尋使用機器學習模型來了解查詢的語意意義和內容,提供比傳統關鍵字式搜尋更相關的搜尋結果。本節說明如何在 OpenSearch Serverless 中設定神經搜尋,包括所需的許可、支援的處理器,以及與標準 OpenSearch 實作的金鑰差異。
使用神經搜尋,您可以對資料執行語意搜尋,這會考慮語意意義來了解搜尋查詢的意圖。此功能由下列元件提供支援:
-
文字內嵌擷取管道處理器
-
神經查詢
-
神經稀疏查詢
混合搜尋
透過混合式搜尋,您可以結合關鍵字和語意搜尋功能來改善搜尋相關性。若要使用混合式搜尋,請建立搜尋管道來處理搜尋結果並結合文件分數。如需詳細資訊,請參閱 OpenSearch 文件網站上的搜尋管道
-
標準化搜尋管道處理器
支援的標準化技術
-
min_max
-
l2
支援的組合技術
-
arithmetic_mean
-
geometric_mean
-
harmonic_mean
如需標準化和組合技術的詳細資訊,請參閱 OpenSearch 文件網站上的請求內文欄位
。 -
-
混合查詢
神經和混合查詢
根據預設,OpenSearch 會使用關鍵字型 Okapi BM25 演算法計算文件分數,這非常適合包含關鍵字的搜尋查詢。Neural Search 為自然語言查詢提供了新的查詢類型,並能夠結合語意和關鍵字搜尋。
範例 : neural
"neural": { "
vector_field
": { "query_text": "query_text
", "query_image": "image_binary
", "model_id": "model_id
", "k": 100 } }
如需詳細資訊,請參閱 OpenSearch 文件網站上的神經查詢
範例 : hybrid
"hybrid": { "queries": [
array of lexical, neural, or combined queries
] }
如需詳細資訊,請參閱 OpenSearch 文件網站上的混合查詢
若要在 Amazon OpenSearch Serverless 中設定語意搜尋元件,請遵循 OpenSearch 文件網站上的神經搜尋教學
-
OpenSearch Serverless 僅支援遠端模型。您必須將連接器設定為遠端託管模型。您不需要部署或移除遠端模型。如需詳細資訊,請參閱 OpenSearch 文件網站上的語意和混合式搜尋入門
。 -
當您搜尋向量索引或搜尋最近建立的搜尋和擷取管道時,最多會有 15 秒的延遲。
設定許可
OpenSearch Serverless 中的神經搜尋需要下列許可。如需詳細資訊,請參閱支援的政策許可。
範例 :神經搜尋政策
-
aoss:*Index – 建立存放文字內嵌的向量索引。
-
aoss:*CollectionItems – 建立擷取和搜尋管道。
-
aoss:*MLResource – 建立和註冊文字內嵌模型。
-
aoss:APIAccessAll – 提供 OpenSearch APIs存取權,以進行搜尋和擷取操作。
以下說明神經搜尋所需的集合資料存取政策。將預留位置值
取代為您的特定資訊。
範例 :資料存取政策
[ { "Description": "Create index permission", "Rules": [ { "ResourceType": "index", "Resource": ["index/
collection_name
/*"], "Permission": [ "aoss:CreateIndex", "aoss:DescribeIndex", "aoss:UpdateIndex", "aoss:DeleteIndex" ] } ], "Principal": [ "arn:aws:iam::account_id
:role/role_name
" ] }, { "Description": "Create pipeline permission", "Rules": [ { "ResourceType": "collection", "Resource": ["collection/collection_name
"], "Permission": [ "aoss:CreateCollectionItems", "aoss:DescribeCollectionItems", "aoss:UpdateCollectionItems", "aoss:DeleteCollectionItems" ] } ], "Principal": [ "arn:aws:iam::account_id
:role/role_name
" ] }, { "Description": "Create model permission", "Rules": [ { "ResourceType": "model", "Resource": ["model/collection_name
/*"], "Permission": ["aoss:CreateMLResources"] } ], "Principal": [ "arn:aws:iam::account_id
:role/role_name
" ] } ]