

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

# 項目建議篩選條件表達式範例
<a name="item-recommendation-filter-examples"></a>

下列篩選表達式示範如何根據項目互動、項目中繼資料和使用者中繼資料來篩選項目建議。它們會依資料類型進行組織。

**Topics**
+ [項目互動資料](#item-interaction-filter-examples)
+ [項目資料](#item-filter-examples)
+ [使用者資料](#user-filter-examples)

## 項目互動資料
<a name="item-interaction-filter-examples"></a>

下列表達式會根據您使用 `$EVENT_TYPE` 參數取得建議時指定的事件類型 （例如點擊） 或事件類型排除項目。

```
EXCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ($EVENT_TYPE)
```

 下列表達式會排除使用者點按或串流的項目。

```
EXCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ("click", "stream")
```

下列表達式僅包含使用者已點按的項目。

```
INCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ("click")
```

## 項目資料
<a name="item-filter-examples"></a>

下列表達式會根據您使用 `$CATEGORY` 參數取得建議時指定的類別排除項目。

```
EXCLUDE ItemID WHERE Items.CATEGORY IN ($CATEGORY)
```

下列表達式僅包含比目前項目便宜的項目 （您在相關項目建議請求中指定的項目），並由與目前項目相同的 Studio 建立。只有在網域使用案例或自訂配方產生相關項目建議時，您才可以使用 CurrentItem 元素套用篩選條件。

```
INCLUDE ItemID WHERE Items.PRICE < CurrentItem.PRICE AND Items.GENRE IN CurrentItem.GENRE
```

 下列表達式會根據多個類別欄位層級排除項目。它會排除 CATEGORY\$1L1 值為 `shoe`但 CATEGORY\$1L2 值*不*為 的項目`boot`。

```
EXCLUDE ItemID WHERE Items.CATEGORY_L1 IN ("shoe") AND Items.CATEGORY_L2 NOT IN ("boot")
```

下列表達式僅包含價格小於或等於您使用 `$PRICE` 參數取得建議時所指定價格的項目。

```
INCLUDE ItemID WHERE Items.PRICE <= $PRICE
```

下列表達式僅包含您在取得建議時指定的時間戳記 （以 Unix epoch 時間為單位） 之前建立的項目。

```
INCLUDE ItemID WHERE Items.CREATION_TIMESTAMP < $DATE
```

下列表達式僅包含您使用 `$GENRE` 參數取得建議時所指定類型或類型的項目。

```
INCLUDE ItemID WHERE Items.GENRE IN ($GENRE)
```

下列表達式僅包含比目前項目更昂貴的項目，*並且*比您指定的時間戳記 （以 Unix epoch 時間為單位） 更近期建立的項目。如果您收到相關項目建議，並且想要根據價格和不同的建立日期來套用一些特定的業務規則，則可以使用此篩選條件。

```
INCLUDE ItemID WHERE Items.PRICE < CurrentItem.PRICE AND Items.CREATION_TIMESTAMP > $DATE
```

## 使用者資料
<a name="user-filter-examples"></a>

下列表達式會排除您使用 `$GENRE` 參數取得建議時所指定類型或類型的項目，但前提是目前使用者的存留期等於您使用 `$AGE` 參數取得建議時所指定的值。

```
EXCLUDE ItemID WHERE Items.GENRE IN ($GENRE) IF CurrentUser.AGE = $AGE
```

下列表達式僅包含目前使用者的存留期超過 時，`watch`對於 CATEGORY\$1L1 為 ，`luxury`對於 CATEGORY\$1L2 為 的項目`18`。

```
INCLUDE ItemID WHERE Items.CATEGORY_L1 IN ("watch") AND Items.CATEGORY_L2 IN ("luxury") IF CurrentUser.AGE > 18
```