

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Ausdrucksstruktur und Elemente filtern
<a name="creating-filter-expressions"></a>

Dieser Abschnitt enthält Informationen zur Struktur von Filterausdrücken und ihren Elementen.

**Topics**
+ [Struktur der Filterausdrücke](#filter-expression-structure)
+ [Ausdruckselemente filtern](#filter-expression-elements)

## Struktur der Filterausdrücke
<a name="filter-expression-structure"></a>

Die allgemeine Struktur eines Filterausdrucks lautet wie folgt: 

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

Sie können Filterausdrücke entweder manuell erstellen oder Hilfe zur Syntax und Struktur von Ausdrücken erhalten, indem Sie den [Ausdrucks-Generator](filter-real-time.md#using-filter-expression-builder) in der Konsole verwenden. 

## Ausdruckselemente filtern
<a name="filter-expression-elements"></a>

Verwenden Sie die folgenden Elemente, um Filterausdrücke zu erstellen:

**INCLUDE oder EXCLUDE**  
Verwenden Sie diese Option`INCLUDE`, um Empfehlungen auf Artikel zu beschränken, die die Filterkriterien erfüllen, *ODER* verwenden Sie diese Option, `EXCLUDE` um alle Artikel zu entfernen, die die Filterkriterien erfüllen.

**ItemID/ActionID/UserID**  
Verwenden Sie eines dieser Elemente nach dem `INCLUDE` `EXCLUDE` Oder-Element. Welches Element Sie verwenden, hängt davon ab, ob Sie Elemente (für Artikelempfehlungen), Aktionen (für Handlungsempfehlungen) oder Benutzer (für Benutzersegmente) filtern. 

**WHERE**  
Wird verwendet`WHERE`, um die Bedingungen für Elemente, Aktionen oder Benutzer zu überprüfen. Sie müssen das `WHERE` Element nach dem `ItemID``ActionID`, oder verwenden`UserID`. 

**UND/ODER**  
Um mehrere Bedingungen innerhalb desselben Filterausdrucks miteinander zu verketten, verwenden Sie `AND` oder`OR`. Bedingungen, die mithilfe von `AND` oder miteinander verkettet wurden, `OR` können sich nur auf Felder des Datensatzes auswirken, der in der ersten Bedingung verwendet wurde.

**Dataset.Field**  
Geben Sie den Datensatz und das Metadatenfeld an, nach denen Sie Empfehlungen filtern möchten. `dataset` `field`Format. Um beispielsweise Artikelempfehlungen basierend auf dem Feld „Genres“ in Ihrem Artikeldatensatz zu filtern, würden Sie Items.Genres in Ihrem Filterausdruck verwenden. 

**IF-Bedingung**  
Verwenden Sie eine `IF` Bedingung *nur*, um Bedingungen für `CurrentUser` und nur *einmal* am Ende eines Ausdrucks zu überprüfen. Sie können eine `IF` Bedingung jedoch mithilfe von erweitern`AND`. 

**CurrentUser.attribut**  
 *Um Artikelempfehlungen auf der Grundlage des Benutzers zu filtern, für den Sie Empfehlungen erhalten, verwenden Sie das Benutzerfeld `CurrentUser` und geben Sie es an.* Beispiel, `CurrentUser.AGE`. 

**CurrentItem.attribut**  
 Verwenden Sie nur für verwandte Artikel, Rezepte und Anwendungsfälle. `CurrentItem` `attribute`um Artikel anhand eines Attributs des Artikels zu filtern, den Sie in Ihrer Anfrage nach Empfehlungen für ähnliche Artikel angegeben haben. Zum Beispiel `CurrentItem.GENRE` oder `CurrentItem.PRICE`.   
 Sie können nur dann einen Filter auf das CurrentItem Element anwenden, wenn Ihr Domain-Anwendungsfall oder Ihre benutzerdefinierte Rezeptur Empfehlungen für ähnliche Artikel generiert, z. B. das Rezept „Ähnliche Artikel“ oder das „*More Like X*“ -Domain-Anwendungsbeispiel. Wenn Sie zum ersten Mal einen Filter mit einem `CurrentItem` Element erstellen, kann die Erstellung des Filters einige Minuten dauern. Bei der Verschlüsselung kann AWS KMS die Filtererstellung bis zu 15 Minuten dauern. 

**IN/NICHT IN**  
Verwenden Sie `IN` oder `NOT IN` als Vergleichsoperatoren, um nach übereinstimmenden (oder nicht übereinstimmenden) Zeichenkettenwerten zu filtern. Amazon Personalize filtert nur nach exakten Zeichenketten.

**Vergleichsoperatoren**  
Verwenden Sie =, <, <=, >, >= und\$1 = Operatoren, um numerische Daten, einschließlich Daten, die in einem Platzhalterparameter übergeben wurden, auf Gleichheit zu testen.

**Sternchen (\$1)**  
Wird verwendet`*`, um Interaktionen aller Art ein- oder auszuschließen. `*`*Nur* für Filterausdrücke verwenden, die das `EVENT_TYPE` Feld eines `Interactions` Datensatzes verwenden.

**Rohrtrenner**  
Verwenden Sie den Rohrtrenner (`|`), um mehrere Ausdrücke miteinander zu verketten. Weitere Informationen finden Sie unter [Kombinieren mehrerer Ausdrücke](multiple-expression-example.md).

**Parameters**  
Verwenden Sie bei Ausdrücken, die Vergleichsoperatoren oder den `IN` Operator verwenden, das Dollarzeichen (\$1) und einen Parameternamen, um einen Platzhalterparameter als Wert hinzuzufügen. Beispiel, `$GENRES`. Wenn Sie in diesem Beispiel Empfehlungen erhalten, geben Sie das Genre oder die Genres an, nach denen gefiltert werden soll.  
Sie definieren einen Parameternamen, wenn Sie ihn einem Ausdruck hinzufügen. Der Parametername muss nicht mit dem Feldnamen übereinstimmen. Es wird empfohlen, einen Parameternamen zu verwenden, der dem Feldnamen ähnelt und leicht zu merken ist. Sie verwenden den Parameternamen (Groß- und Kleinschreibung beachten), wenn Sie den Filter auf Empfehlungsanfragen anwenden. Ein Beispiel, das zeigt, wie Sie einen Filter mit Platzhalterparametern anwenden, wenn Sie die AWS SDKS verwenden, finden Sie unter. [Anwenden eines Filters (AWS SDKs)](filter-real-time.md#applying-filter-sdk)