本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
筛选条件表达式结构和元素
本部分包含有关筛选条件表达式的结构及其元素的信息。
筛选条件表达式结构
筛选器表达式的一般结构如下所示:
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
检查物品、操作或用户的条件。您必须在ItemID
、ActionID
或UserID
之后使用WHERE
元素。 - AND/或
-
要在同一个筛选器表达式中将多个条件链接在一起,请使用
AND
或OR
。使用AND
或OR
将条件链接在一起,只能影响第一个条件中使用的数据集字段。 - Dataset.field
-
提供要按
dataset
.field
格式筛选建议的数据集和元数据字段。例如,要根据物品数据集中的类型字段筛选物品建议,可以在筛选条件表达式中使用 Items.genres。 - IF 条件
-
仅 使用
IF
条件检查CurrentUser
的条件,并且只能在表达式的末尾使用一次。但是,您可以使用AND
扩展IF
条件。 - CurrentUser. 属性
-
要仅 在 IF 条件下根据获得建议的用户筛选物品建议,请使用
CurrentUser
并提供用户字段。例如,CurrentUser.AGE
。 - CurrentItem. 属性
-
对于仅相关物品食谱和使用案例,使用
CurrentItem
.attribute
,根据您在请求相关物品建议时指定的物品属性筛选物品。例如,CurrentItem.GENRE
或CurrentItem.PRICE
。只有当您的域用例或自定义配方生成相关项目推荐(例如 Similar-Items 配方或 M ore Like X 域用例)时,您才能对 CurrentItem 元素应用筛选条件。首次使用
CurrentItem
元素创建筛选器时,可能需要几分钟才能创建筛选器。如果您使用 AWS KMS 加密,则创建筛选器最多可能需要 15 分钟。 - 输入/ IN NOT
-
使用
IN
或NOT IN
作为比较运算符,根据匹配(或不匹配)一个或多个字符串值进行筛选。Amazon Personalize 仅根据精确的字符串进行筛选。 - 比较运算符
-
使用 =、<、<=、>、>= 和! = 运算符用于测试数值数据(包括在占位符参数中传递的数据)是否相等。
- 星号 (*) 字符
-
使用
*
包含或排除所有类型的交互。仅 将*
用于使用Interactions
数据集EVENT_TYPE
字段的筛选器表达式。 - 竖线分隔符
-
使用竖线分隔符 (
|
) 将多个表达式链接在一起。有关更多信息,请参阅 组合多个表达式。 - 参数
-
对于使用比较运算符或
IN
运算符的表达式,使用美元符号 ($) 和参数名称,将占位符参数添加为值。例如,$GENRES
。在此示例中,获得建议时,您需提供一个或多个要筛选的类型。注意
当您将参数名称添加到表达式时,可以定义该名称。参数名称不必与字段名称匹配。我们建议您使用与字段名称相似且容易记住的参数名称。在对建议请求应用筛选器时,您可以使用参数名称(区分大小写)。有关演示如何在使用时使用占位符参数应用过滤器的示例 AWS SDKS,请参阅应用筛选器 (AWS SDKs)。