Die Search-API liefert bei GET search ein JSON-Objekt mit mehreren Bereichen für Treffer und Filter.Die verfügbaren Felder in den Ergebnissen hängen von der Backend-Konfiguration (display_fields, filter_fields) ab.
Dieser Abschnitt beschreibt die Aufteilung der Suchergebnisse in die Bereiche product, category und optional content mit jeweils eigener Trefferliste und Trefferanzahl. Darüber hinaus wird erläutert, welche zusätzlichen Metadaten (z. B. total,filters, applied_filters, zero_result_filters und wssearchdata) in der Response enthalten sind und wofür sie verwendet werden.
Ergebnisse der Produkt-Kontext. Enthält eine Trefferliste und die Anzahl der gefundenen Produkte.
category
object
Ergebnisse im Kategorie-Kontext. Enthält eine Trefferliste und die Anzahl der gefundenen Kategorien.
content
object
Ergebnisse im Content-Kontext, z.B. statische Seiten wie Über uns, Ratgeber etc. (optional)
total
int
Gesamtanzahl aller Treffer über alle Indizes / Bereiche hinweg. (Summe aus product.sub_total, category.sub_total und ggf. content.sub_total).
filters
object
Liste der verfügbaren Filter für die aktuelle Suche (z.B. Marke, Farbe, Preisbereich) inklusive Labels, möglicher Werte und ggf. Min-/Max-Werten.
applied_filters
object
Aktuell gesetzte Filter der Anfrage.
zero_result_filters
array
Liste von statischen Filtern, die im aktuellen Kontext zu 0 Treffern führen würden. (z.B. bestimmte Größen oder Farben, für die aktuell keine Produkte gefunden werden). Hinweis: Nur für WebComponents relevant.
wssearchdata
string
Zusatzdaten für das WEBSALE-Bekleidungsmodul (z. B. Query- und Farbwerte) Das WEBSALE Bekleidungsmodul ist eine Funktion, die ausschließlich in der WEBSALE Shopsoftware Version V8s zur Verfügung steht.
Die Bereiche product, category und optional content haben jeweils die gleiche Struktur
Interne ID des Dokuments im Suchindex Dient zur eindeutigen Identifikation des Treffers im Index.
_source
object
Inhalt des Dokuments laut Suchindex. Welche Felder hier enthalten sind, wird über die Konfiguration der display_fields gesteuert und ist je Index (Produkt, Kategorie, Content) unterschiedlich.
zero_result_filters enthält die Namen statischer Custom-Filter (z. B. "inventoryamount"), die im aktuellen Kontext zu 0 Treffern führen würden.Dabei geht es nicht um dynamische Filter aus dem Parameter filters. Diese dynamischen Filter führen per Definition nie zu 0 Ergebnissen.
0 Treffer treten nur bei Custom-/statischen Filtern auf, die z. B. über WebComponents erstellt werden und immer zur Verfügung stehen – unabhängig von der aktuellen Suche.
wssearchdata ist ein technisches Feld für das WEBSALE Bekleidungsmodul der Shopversion V8s.Es enthält u. a. Informationen zu Query und Farbfiltern und wird dafür genutzt, farbige Variantenbilder auf Produktlisten korrekt zu laden.Für die Anbindung einer eigenen Frontend-Suche kann das Feld in der Regel unverändert an die entsprechenden Skripte übergeben werden.
Mit diesem Aufruf werden Suchergebnisse aus dem Suchindex geladen. Der Endpunkt kann sowohl für klassische Volltextsuche als auch für reine Filter-/Kategorie-Navigation (ohne Suchbegriff) verwendet werden.
Gerätetyp, optional für Logging, z.B. desktop, mobile, tablet
filter_{OPERATOR}[{FIELD_NAME}]
Filter werden über separate Query-Parameter mit Operator-Syntax übergeben. - eq → Equals (exakte Übereinstimmung) - neq → Not Equals (Ausschluss) - gte → Greater Than or Equal - lte → Less Than or Equal - rm → Remove Für mehrere Werte desselben Filters kann der Parameter mehrfach übergeben werden (ODER-Verknüpfung). Weitere Details zu Filterparametern finden Sie unter URL-Filterparameter (Query-Parameter) in der allgemeinen Dokumentation des Suchmoduls.
from
integer
Offset für Pagination resp. Blätterfunktion (Startposition der Trefferliste) Standard: 0
language
string
Browser-Sprache, optional für Logging / Auswertung, z.B. de-DE, en-US
sessionId
string
Session-Tracking-ID, optional für Logging, z.B. sess_abc123 Standard: unknown
size
integer
Anzahl der Ergebnisse pro Seite. Standard: 16
sortOrder
string
Sortierreihenfolge. Konkrete Sortfelder sind konfigurationsabhängig (z. B. Relevanz, Preis). Standard: _score_desc
subshop
string
Pflichtfeld. Subshop-Identifier (lowercase). Bestimmt den Suchkontext / Index. Beispiel: 01-aa.
query
string
Suchbegriff für Volltextsuche. Wenn keine query übergeben wird, muss stattdessen ein filter_eq[catids] gesetzt sein (Suche auf Kategorie-Ebene). Mindestens einer der Parameter query oder filter_eq[catids] muss in der Anfrage enthalten sein, zusätzlich zu subshop.
GET /api/search?subshop=01-aa&filter_eq[catids]=electronics&from=0&size=24
subshop=01-aa: verwendet den Suchindex des Subshops 01-aa.
filter_eq[catids]=electronics: beschränkt die Treffer auf die Kategorie electronics.
Hinweis: Bei Backend-Suchmodul-Versionen < 1.7.x muss hier der Kategoriename als String (zB. ‘electronics’) übergeben werden; ab Version 1.7.x wird an dieser Stelle die tatsächliche Kategorie ID erwartet.
from=0&size=24: liefert die erste Seite mit bis zu 24 Treffern.
Ergebnis: Kategorie-Navigation in electronics ohne Volltextsuchbegriff.
GET /api/search?query=smartphone&subshop=01-aa&from=0&size=24&sortOrder=price_asc&filter_eq[brand]=Samsung&filter_eq[brand]=Apple&filter_gte[price]=200&filter_lte[price]=800&filter_eq[color]=schwarz
query=smartphone: Volltextsuche nach „smartphone“.
subshop=01-aa: Suche im Subshop 01-aa.
sortOrder=price_asc: Sortierung nach Preis aufsteigend.
filter_eq[brand]=Samsung&filter_eq[brand]=Apple: nur Produkte der Marken Samsung oder Apple.
Der Endpunkt GET /api/suggest liefert Suchvorschläge für einen eingegebenen Teil-Suchbegriff.Die Vorschläge basieren primär auf Logdaten (häufig gesuchte Begriffe) und können bei Bedarf um automatisch generierte Completions ergänzt werden. Zusätzlich kann ein Text für Ghost-Text-Vervollständigung zurückgegeben werden.
suggestions ist absteigend anhand des Parameters hitCount sortiert und sind aus Logdaten generierte Suchvorschläge. Diese werden bei Bedarf mit completion aufgefüllt.
completion liefert einen Text, mit dem das Suchfeld automatisch hinter dem aktuell eingegebenen Text ergänzt werden kann (Ghost-Text/Auto-Vervollständigung).