篩選表達式結構和元素 - Amazon Personalize

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

篩選表達式結構和元素

本節包含有關篩選條件表達式結構及其元素的資訊。

篩選條件表達式結構

篩選條件表達式的一般結構如下:

EXCLUDE/INCLUDE ItemID/ActionID/UserID WHERE dataset type.field IN/NOT IN (value/parameter)

您可以使用 主控台中的表達式建置器,手動建立篩選條件表達式或取得表達式語法和結構的說明。

篩選條件表達式元素

使用下列元素來建立篩選條件表達式:

INCLUDE 或 EXCLUDE

使用 INCLUDE 將建議限制為僅符合篩選條件的項目,或使用 EXCLUDE移除符合篩選條件的所有項目。

ItemID/ActionID/UserID

INCLUDE或 元素後面使用這些EXCLUDE元素之一。您使用的 元素取決於您是篩選項目 (適用於項目建議)、動作 (適用於動作建議) 還是使用者 (適用於使用者區段)。

WHERE

使用 WHERE 檢查項目、動作或使用者的條件。您必須在 ItemIDActionID或 之後使用 WHERE元素UserID

AND/OR

若要在相同的篩選條件表達式中將多個條件鏈結在一起,請使用 ANDOR。使用 AND或 鏈結在一起的條件OR只會影響第一個條件中使用的資料集欄位。

Dataset.field

提供資料集和中繼資料欄位,以 dataset.field 格式篩選建議。例如,若要根據項目資料集中的類型欄位來篩選項目建議,您可以在篩選表達式中使用 Items.genres。

IF 條件

僅使用 IF條件來檢查 的條件CurrentUser,並在表達式結尾只檢查一次。不過,您可以使用 擴充 IF條件AND

CurrentUser.attribute

若要根據您取得建議的使用者篩選項目建議,請僅在 IF 條件下使用 CurrentUser 並提供使用者欄位。例如 CurrentUser.AGE

CurrentItem.attribute

對於僅相關的項目配方和使用案例,請使用 CurrentItemattribute 根據您在相關項目建議請求中指定的項目屬性來篩選項目。例如 CurrentItem.GENRECurrentItem.PRICE

只有當您的網域使用案例或自訂配方產生相關項目建議時,您才可以使用 CurrentItem 元素套用篩選條件,例如類似項目配方或更相似的 X 網域使用案例。第一次使用 CurrentItem元素建立篩選條件時,可以建立篩選條件幾分鐘。如果您使用 AWS KMS 進行加密,則建立篩選條件最多可能需要 15 分鐘。

IN/NOT IN

使用 INNOT IN做為比較運算子,根據相符 (或不相符) 一或多個字串值進行篩選。Amazon Personalize 篩選條件僅適用於確切字串。

比較運算子

針對等式,使用 =、<、<=、>、>= 和 != 運算子來測試數值資料,包括以預留位置參數傳遞的資料。

星號 (*) 字元

使用 * 來包含或排除所有類型的互動。* 僅用於使用 Interactions 資料集 EVENT_TYPE 欄位的篩選條件表達式。

管道分隔符號

使用管道分隔符號 (|) 將多個表達式鏈結在一起。如需詳細資訊,請參閱結合多個表達式

Parameters

對於使用比較運算子或IN運算子的表達式,請使用貨幣符號 ($) 和參數名稱將預留位置參數新增為值。例如 $GENRES。在此範例中,當您取得建議時,您會提供要篩選的類型或類型。

注意

您可以在將參數名稱新增至表達式時定義參數名稱。參數名稱不需要符合欄位名稱。我們建議您使用類似於欄位名稱且易於記住的參數名稱。當您將篩選條件套用至建議請求時,您可以使用參數名稱 (區分大小寫)。如需示範使用 AWS SDKS 時如何使用預留位置參數套用篩選條件的範例,請參閱 套用篩選條件 (AWS SDKs)