選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

篩選和面向搜尋

焦點模式
篩選和面向搜尋 - Amazon Kendra

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

注意

功能支援會因索引類型和正在使用的搜尋 API 而有所不同。若要查看您所使用的索引類型和搜尋 API 是否支援此功能,請參閱索引類型

您可以使用篩選條件來改善查詢 API 的搜尋結果或回應。篩選條件會將回應中的文件限制為直接套用至查詢的文件。若要建立面向搜尋建議,請使用布林邏輯,從回應或不符合特定條件的文件篩選出特定文件屬性。您可以使用 Query API 中的 Facets 參數來指定面向。

若要搜尋您已 Amazon Kendra 編製索引的文件 Amazon Lex,請使用 AMAZON.KendraSearchIntent。如需使用 設定 Amazon Kendra 的範例 Amazon Lex,請參閱建立 Amazon Kendra 索引的常見問答集機器人。您也可以使用 AttributeFilter 為回應提供篩選條件。這是設定 時 JSON 中的查詢篩選條件AMAZON.KendraSearchIntent。若要在主控台中設定搜尋意圖時提供屬性篩選條件,請前往意圖編輯器,然後選擇 Amazon Kendra 查詢以在 JSON 中提供查詢篩選條件。如需 的詳細資訊AMAZON.KendraSearchIntent,請參閱 Amazon Lex 文件指南

面向

面向是一組搜尋結果的範圍檢視。例如,您可以提供全球城市的搜尋結果,其中文件會依與其相關聯的特定城市進行篩選。或者,您可以建立面向來顯示特定作者的結果。

您可以使用與文件相關聯的文件屬性或中繼資料欄位做為構面,讓使用者可以依該構面內的類別或值進行搜尋。您也可以在搜尋結果中顯示巢狀構面,讓使用者不僅可以依類別或欄位進行搜尋,也可以依子類別或子欄位進行搜尋。

下列範例示範如何取得「城市」自訂屬性的面向資訊。

response=kendra.query( QueryText = query, IndexId = index, Facets = [ { "DocumentAttributeKey" : "City" } ] )

您可以使用巢狀面向來進一步縮小搜尋範圍。例如,文件屬性或構面 "City" 包含稱為 "Seattle" 的值。此外,文件屬性或構面 "CityRegion" 包含指派給 "Seattle" 的文件值 "North" 和 "South"。您可以在搜尋結果中顯示巢狀面向及其計數,以便不僅可以依城市搜尋文件,也可以依城市內的區域搜尋文件。

請注意,巢狀面向可能會影響查詢延遲。一般規則是您使用的更巢狀面向,對延遲的潛在影響更大。影響延遲的其他因素包括編製索引的文件平均大小、索引大小、高度複雜的查詢,以及索引 Amazon Kendra 的整體負載。

下列範例示範如何取得「CityRegion」自訂屬性的構面資訊,做為「City」內的巢狀構面。

response=kendra.query( QueryText = query, IndexId = index, Facets = [ { "DocumentAttributeKey" : "City", "Facets": [ { "DocumentAttributeKey" : "CityRegion" } ] } ] )

FacetResults 回應陣列中會傳回面向資訊,例如文件計數。您可以使用內容在應用程式中顯示面向搜尋建議。例如,如果文件屬性 "City" 包含可套用搜尋的城市,請使用該資訊顯示城市搜尋清單。使用者可以選擇城市來篩選搜尋結果。若要進行面向搜尋,請呼叫查詢 API,並使用選擇的文件屬性來篩選結果。

對於查詢,每個面向最多可以顯示 10 個面向值,而一個面向內只能顯示一個巢狀面向。如果您想要增加這些限制,請聯絡 支援。如果您想要將每個面向的面向值數量限制為小於 10,您可以在 Facet 物件中指定此值。

下列範例 JSON 回應顯示範圍為「城市」文件屬性的面向。回應包含面向值的文件計數。

{ 'FacetResults': [ { 'DocumentAttributeKey': 'City', 'DocumentAttributeValueCountPairs': [ { 'Count': 3, 'DocumentAttributeValue': { 'StringValue': 'Dubai' } }, { 'Count': 3, 'DocumentAttributeValue': { 'StringValue': 'Seattle' } }, { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'Paris' } } ] } ]

您也可以顯示巢狀構面的構面資訊,例如城市內的區域,以進一步篩選搜尋結果。

下列範例 JSON 回應顯示範圍為「CityRegion」文件屬性的面向,做為「City」內的巢狀面向。回應包含巢狀構面值的文件計數。

{ 'FacetResults': [ { 'DocumentAttributeKey': 'City', 'DocumentAttributeValueCountPairs': [ { 'Count': 3, 'DocumentAttributeValue': { 'StringValue': 'Dubai' }, 'FacetResults': [ { 'DocumentAttributeKey': 'CityRegion', 'DocumentAttributeValueCountPairs': [ { 'Count': 2, 'DocumentAttributeValue': { 'StringValue': 'Bur Dubai' } }, { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'Deira' } } ] } ] }, { 'Count': 3, 'DocumentAttributeValue': { 'StringValue': 'Seattle' }, 'FacetResults': [ { 'DocumentAttributeKey': 'CityRegion', 'DocumentAttributeValueCountPairs': [ { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'North' } }, { 'Count': 2, 'DocumentAttributeValue': { 'StringValue': 'South' } } ] } ] }, { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'Paris' }, 'FacetResults': [ { 'DocumentAttributeKey': 'CityRegion', 'DocumentAttributeValueCountPairs': [ { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'City center' } } ] } ] } } ] }

當您使用字串清單欄位建立構面時,傳回的構面結果會根據字串清單的內容。例如,如果您的字串清單欄位包含兩個項目,一個具有「dachshund」清單、「sausage dog」清單,另一個具有「husky」值,則您會FacetResults得到三個面向。

如需詳細資訊,請參閱查詢回應和回應類型

使用文件屬性篩選搜尋結果

根據預設, Query會傳回所有搜尋結果。若要篩選回應,您可以對文件屬性執行邏輯操作。例如,如果您只想要特定城市的文件,您可以篩選「城市」和「州」自訂文件屬性。您可以使用 AttributeFilter,在您提供的篩選條件上建立布林值操作。

大多數屬性可用來篩選所有回應類型的回應。不過, _excerpt_page_number 屬性僅適用於篩選ANSWER回應時的回應類型。

下列範例示範如何篩選特定城市、西雅圖和華盛頓州,以執行邏輯 AND 操作

response=kendra.query( QueryText = query, IndexId = index, AttributeFilter = {'AndAllFilters': [ {"EqualsTo": {"Key": "City","Value": {"StringValue": "Seattle"}}}, {"EqualsTo": {"Key": "State","Value": {"StringValue": "Washington"}}} ] } )

下列範例顯示當任何 Fileformat、 或 SourceURI金鑰符合指定的值時Author,如何執行邏輯 OR 操作。

response=kendra.query( QueryText = query, IndexId = index, AttributeFilter = {'OrAllFilters': [ {"EqualsTo": {"Key": "Fileformat","Value": {"StringValue": "AUTO_DETECT"}}}, {"EqualsTo": {"Key": "Author","Value": {"StringValue": "Ana Carolina"}}}, {"EqualsTo": {"Key": "SourceURI","Value": {"StringValue": "https://aws.amazonaws.com/234234242342"}}} ] } )

對於 StringList 欄位,請使用 ContainsAnyContainsAll 屬性篩選條件來傳回具有指定字串的文件。下列範例顯示如何傳回其Locations自訂屬性中值為 "Seattle" 或 "Portland" 的所有文件。

response=kendra.query( QueryText = query, IndexId = index, AttributeFilter = { "ContainsAny": { "Key": "Locations", "Value": { "StringListValue": [ "Seattle", "Portland"] }} } )

在搜尋結果中篩選每個文件的屬性

Amazon Kendra 會傳回搜尋結果中每個文件的文件屬性。您可以篩選您想要包含在回應中的特定文件屬性,做為搜尋結果的一部分。根據預設,指派給文件的所有文件屬性都會在回應中傳回。

在下列範例中,只有 _source_uri_author 文件屬性會包含在 文件的回應中。

response=kendra.query( QueryText = query, IndexId = index, RequestedDocumentAttributes = ["_source_uri", "_author"] )
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。