Wie kann ich mit Hilfe der "facets" in der productsearch Filter generieren?

Mit der productsearch können nicht nur die einzelnen Produkte zurück gegeben werden, sondern auch eine Zusammenfassung der Ergebnisse mit Hilfe der "facets". So lassen sich einfach Filter generieren.

Mögliche Produkteigenschaften abrufen

In diesem Beispiel betrachten wir, welche Eigenschaften an unseren Produkten verwendet wird. Wir schränken die Produkte vorher nicht über einen Filter ein, daher stehen hinter "productsearch" keine runden Klammern "( )".

Query

query q1 {
productsearch {
facets {
universalTypes(exclude: ["MT01-MPID", "MT01-DATA", "MT12-ORDE"], grouping: CODE) {
name
code
}
}
}
}

Antwort

{
"data": {
"productsearch": {
"facets": {
"universalTypes": [
{
"name": "Hersteller Firmenname",
"code": "ST02-MCOM"
},
{
"name": "Farbe nach Herstellerangabe",
"code": "ST05-COLO"
}
]
}
}
}
}

Was passiert hier?

  1. Es werden alle Produkte ohne Einschränkungen gesucht.
  2. Alle Eigenschaften alle Produkte werden zusammengeworfen, aber nur der Name (bzw. Code) der Eigenschaft betrachtet.
  3. Die Eigenschaften, die wir in "exclude" definiert haben, werden verworfen.
  4. Duplikate werden entfernt und die Liste der Eigenschaften zurück gegeben.

Werte innerhalb eines Filters

In dieser productsearch werden die Produkte nach dem UniversalType "ST02-MCOM" (Herstellername) gruppiert und gezählt.

Bei obiger Query haben wir nur nach dem "CODE" gruppiert.  Anders als bei obiger Query gruppieren wir hier nach "CODE_VALUE" für diesen einen UniversalType.

Query


query manufacturers {
productsearch {
facets {
universalTypes(filter: ["ST02-MCOM"], grouping: CODE_VALUE) {
name
code
value
count
}
}
}
}

So könnte die Antwort aussehen:

{
"data": {
"productsearch": {
"facets": {
"universalTypes": [
{
"name": "Hersteller Firmenname",
"code": "ST02-MCOM",
"value": "Gustav Gans Gips GmbH",
"count": 2705
},
{
"name": "Hersteller Firmenname",
"code": "ST02-MCOM",
"value": "Daisy Duck Dämmstoffe",
"count": 1312
}, { ... }
]
}
}
}
}

In der Query können Sie gleichzeitig auch die einzelnen Produkte über "content" abrufen.

Was passiert hier?

  1. Es werden alle Produkte ohne Einschränkungen gesucht.
  2. Für alle Produkte wird nur die Eigenschaft "ST02-MCOM" behalten, alle anderen werden verworfen.
  3. Alle Werte für "ST02-MCOM" werden zusammengeworfen.
  4. Es wird nach den Werten gruppiert und gezählt, wie viele Produkte in jeder Gruppe sind.
  5. Die Liste der Attributwerte wird zurück gegeben.