Welche Funktionen bietet die productsearch?

Über die Productsearch können Sie Produkte nach verschiedenen Kriterien suchen und Produktdaten, Preise und Verfügbarkeiten abrufen.

Überblick

Mit der productsearch suchen Sie nach Produkten — das ist wahrscheinlich keine große Überraschung.

  • Innerhalb der runden Klammern "( )" definieren Sie Filterkriterien: Attribute (UniversalTypes, abkgekürzt mit UT), Freitext, Produktbaum und mehr.
  • Innerhalb des "content" definieren Sie welche Informationen Sie pro Produkt erhalten möchten.
  • Die "facets" fassen die Gesamtmenge der Ergebnisse nach Ihren Wünschen zusammen, aggregieren Sie sozusagen. Sie erhalten dann die Anzahl der Produkte pro Gruppe.
  • "pageInfo" enthält die Gesamtanzahl der Produkte. Wenn innerhalb von "content" zu viele Produkte waren, wird das Ergebnis auf mehre Seiten aufgesplittet.

productsearch-visual-1


() —Such- bzw Filtervarianten

Es gibt verschiedene Varianten, über die Produkte gesucht werden können. Zum Beispiel:

Freitextsuche

query q1 {
productsearch(query: "gkfi") {
    content {

    }
  }
}

UniversalTypes

Fragen Sie Ihren ProMaterial-Ansprechpartner nach Zugriff zu den UniversalTypes.

UniversalTypes sind die einheitliche Beschreibungssprache für Bauprodukte von BuildingSMART. Ein UniversalType wird durch einen Code repräsentiert. Es gibt UniversalTypes vom Typ Boolean, Text, Number, Range.

Suche nach genau einem Wert; MT01-MPID ist die Herstellerartikelnummer:

query q1 {
productsearch(universalTypes: {AND: {operator: EQ, code: "MT01-MPID", values: "00009479"}}) {
content {

}
}
}

Suche nach dem Vorhandensein einer Eigenschaft:

query q1 {
productsearch(universalTypes: {AND: {operator: IS_SET, code: "ET05-TRST"}}) {
content {

}
}
}

Suche nach einem Zahlenwert:

query q1 {
productsearch(universalTypes: {AND: {operator: GTE, code: "ST05-LENG", values: 2000, unit: "QM-MILLIMETER"}}) {
content {

}
}
}

"content" — Produkteigenschaften

Innerhalb vom Block content definieren Sie die Informationen, die zurück gegeben werden sollen.

    content {
productDetails {
descriptions {
descriptionShort
}
}
features {
universalTypes {
code
value
unit {
code
}
}
}
}

"facets" — Aggregation der Ergebnisse

In diesem Beispiel gruppieren wir die Produkte nach Hersteller — UniversalType "ST02-MCOM" und geben pro Hersteller die Anzahl der Produkte zurück.

Die "facets" können unabhängig von oder zusätzlich zu anderen Teilen der productsearch verwendet werden.

Query

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

Antwort

{
"data": {
"productsearch": {
"facets": {
"universalTypes": [
{
"name": "Hersteller Firmenname",
"code": "ST02-MCOM",
"value": "Gustav Gans Gips GmbH",
"count": 2053
},
{ ... }
]
}
}
}
}

Mehr über Facets

"pageInfo" — Pagination

Je nach Anzahl der Ergebnisse werden nicht alle auf einmal zurück gegeben. Innerhalb der runden Klammern definieren Sie, welche Seite der Sucheregbnisse Sie haben möchten und wie viele Ergebnisse auf einmal. Die Information über die Gesamtanzahl der Suchergebnisse und ob es eine weitere Seite gibt, können Sie über den Block pageInfo mit abfragen.

query q1 {
productsearch(page: {page: 0, size: 10} query: "") {
content {

}
pageInfo {
hasNextPage
totalCount
}
}
}