search - Sortierung und Filterung

search - Sortierung und Filterung

Der Knoten search steuert die interne Produktsuche (nicht die WEBSALE Search) und Listing-Seiten im Shop - z.B. welche Filter angeboten werden, welche Sortieroptionen verfügbar sind und wie viele Treffer pro Seite angezeigt werden. Er trennt die Einstellungen für Kategorie und Suchergebnissen und erlaubt die Definition einzelner Filter und Sortierregeln als wieder verwendbare Bausteine.


Inhaltsverzeichnis

 


1. search* - Grundstruktur

Nachfolgend der Grundaufbau des Knotens search:

{ "search": { "categoryNavigation": {}, "productSearchNavigation": {}, "productFilter": {}, "productSortOption": {} } }


Parameterbeschreibung:

Parameter

Beschreibung

Parameter

Beschreibung

categoryNavigation

Steuert Filter, Sortierung und Treffer pro Seite auf Kategorie-/Listingseiten.

productSearchNavigation

Steuert Filter, Sortierung und Treffer pro Seite auf Suchergebnisseiten.

productFilter

Definiert einen Filterbaustein.

productSortOption

Definiert eine Sortierregel zur Verwendung in Kategorie- und Suchlisten.

 


2. search.categoryNavigation - Filter und Sortierung für Kategorieseiten

Der Knoten search.categoryNavigationsteuert, welche Filter und Sortierungen in Kategorieseiten verfügbar sind, welche Standardsortierung gilt sowie die Treffer pro Seite.


Beispielkonfiguration:

{ "defaultResultsPerPage": 16, "defaultSortOption": "search.productSortOption.relevance", "keepSortSettings": true, "productFilters": [ "search.productFilter.price", "search.productFilter.clothingLength", "search.productFilter.clothingOuterMaterial", "search.productFilter.brand" ], "resultsPerPageOptions": [16, 24, 32], "sortOptions": [ "search.productSortOption.relevance", "search.productSortOption.nameAsc", "search.productSortOption.nameDesc", "search.productSortOption.priceAsc", "search.productSortOption.priceDesc" ] }


Parameterbeschreibung:

Parameter

Typ

Beschreibung

Parameter

Typ

Beschreibung

productFilters

multiAssoc

Liste der verfügbaren Filter aus search.productFilter (z.B. Preis, Marke, Material). Reihenfolge der Angaben entspricht der Reihenfolge im Frontend.

sortOptions

multiAssoc

Liste der für den Nutzer wählbaren Sortierungen aus search.productSortOption (z.B. Relevanz, Name oder Preis auf- absteigend).

defaultSortOptions

singleAssoc

Voreingestellte Sortierung aus search.productSortOption beim ersten Laden einer Kategorieseite. (z.B. nach Relevanz).

resultsPerPageOptions

list (uint)

Einstellbare Werte für “Treffer pro Seite”. Reihenfolge der Angaben entspricht der Reihenfolge im Frontend.

Default: [20, 50, 100, 200]

defaultResultsPerPage

uint

Voreinstellung der Treffer pro Seite (muss in resultsPerPageOptionsebenfalls angegeben sein).

Default: 20

keepSortSettings
(demnächst verfügbar)

bool

Behalte die gewählte Sortierung / Limit pro Nutzer-Session bei.

Default: true

 


3. search.productFilter - Produktfilter definieren

Der Knoten search.productFilterdefiniert einzelne Filter für Listing-Seiten (z.B. Marke, Material, Preis, Gewicht). Sie legen fest, welches Datenfeld gefiltert wird, wie der Filter funktioniert und ob es Abhängigkeiten zu anderen Filtern gibt.


Beispielkonfiguration (search.productFilter.weight):

{ "name": "weight", "filterDependency": { "filter": null, "options": [] }, "type": { "keyword": { "optionsSort": "numResults", "multiSelect": true }, "range": null }, "target": { "field": "content.customProductField.weight", "special": null, "attribute": null }, "scoreBoost": 0, "optionsDirectlyDisplayable": false, "unit": "", "numInitialOptions": 0, "minOptions": 0 }


Parameterbeschreibung:

Parameter

Typ

Beschreibung

Parameter

Typ

Beschreibung

name

string

Technischer Name des Filters (z.B. brand, price).

filterDependency

object

Definiert die Abhängigkeit zu einem anderen Filter.

filter

singleAssoc

Referenz auf den Abhängigen Filter aus search.productFilter.

options

list (string)

Erlaubte Optionen des abhängigen Filters, bei deren Auswahl dieser Filter aktiv wird.
Beispiel:
Filter “Größe” nur anzeigen, wenn die Kategorie Bekleidung gewählt ist:

{ "name": "size", "filterDependency": { "filter": "search.productFilter.category", "options": ["clothing"] } }

type

oneOf

Legt fest, wie der Filter arbeitet.

keyword

object

Auswahlliste mit festen Werten (z.B. Marken, Farben).

optionsSort

enum

Sortierung der Optionswerte.
Mögliche Angaben:
lexical- alphabetische Sortierung
numResults- Sortierung nach Trefferzahl
relevance- Sortierung nach Relevanz

multiSelect

bool

Mehrfachauswahl oder nur eine Option zulassen.

range

object

Steuert einen zahlenbasierten Filter (z.B. Preis, Gewicht).

inputType

enum

Legt fest, wie Nutzer den Zahlenbereich des Filters wählen:
rangeonly- Frei einstellbarer Bereich
optionsOnly- Nur vorgegebene Stufen zur Auswahl
rangeAndOptions- Kombiniert beides.

optionType

enum

Bestimmt, woher die Zahlenbereichsstufen kommen:
static- Feste Stufen manuell vorgeben.
dynamic- Die Stufen werden automatisch aus vorhandenen Produktwerten berechnet.

dynamicSteps

int

Gibt die Anzahl der dynamischen Stufen an. (nur, wenn bei optionType der Wert dynamicgewählt wurde.)

statisticOptions

list (object)

Liste fester Zahlenbereichsstufen.

from

float

Untere Grenze der Zahlenbereichsstufe.

to

float

Obere Grenze der Zahlenbereichsstufe.

target

oneOf

Legt Fest, welches Produktfeld der Filter verwendet. (z.B. ein Produktfeld oder ein Produktattribut)

field

singleAssoc

Bindet den Filter an ein Produktfeld (z.B. content.customProductField.weight). Die Daten kommen aus content.productField | content.customProductField.

special

enum

Legt fest, ob nach Kategorie-ID (categories) oder Neuheiten (new) gefiltert wird.

attribute

singleAssoc

Bindet den Filter an ein Produktattribut. Daten aus content.productAttribute.

scoreBoost
(demnächst verfügbar)

float

Erhöht den Ranking-Einfluss ausgewählter Filterwerte auf die Ergebnisreihenfolge.

optionsDirectlyDisplayable
(demnächst verfügbar)

bool

true- Optionsliste kann ohne “mehr anzeigen” vollständig gezeigt werden.

false- Optionsliste kann sich einklappen.

unit

string

Einheit für die Anzeige (z.B. kg, cm, )

numInitialOptions

uint

Anzahl initial sichtbarer Optionswerte (z.B. zeige zuerst 5, der Rest muss aufgeklappt werden).

minOptions

uint

Mindestanzahl benötigter Optionswerte, damit der Filter überhaupt angezeigt wird.

 


4. search.productSearchNavigation - Filter und Sortierung für Suchergebnisseiten

Der Knoten search.productSearchNavigation definiert die Filter und die Sortierung auf Suchergebnisseiten. Einstellbar sind beispielsweise die Standard-Sortierung, die Treffer pro Seite sowie ein Limit für maximale Treffer pro Suche.


Beispielkonfiguration:

{ "defaultResultsPerPage": 16, "defaultSortOption": "search.productSortOption.relevance", "maxResults": 1000, "productFilters": [ "search.productFilter.price", "search.productFilter.clothingLength", "search.productFilter.clothingOuterMaterial", "search.productFilter.brand" ], "resultsPerPageOptions": [16, 24, 32], "sortOptions": [ "search.productSortOption.relevance", "search.productSortOption.nameAsc", "search.productSortOption.nameDesc", "search.productSortOption.priceAsc", "search.productSortOption.priceDesc" ] }


Parameterbeschreibung:

Parameter

Typ

Beschreibung

Parameter

Typ

Beschreibung

productFilters

multiAssoc

Verfügbare Filter für die Suche (z.B. Preis, Marke, Material). Die Reihenfolge entspricht der Anzeige im Frontend.

sortOptions

multiAssoc

Wählbare Sortierungen für den Nutzer (z.B. Relevanz, Name / Preis auf- bzw. absteigend.)

defaultSortOption

singleAssoc

Voreingestellte Sortierung der Suchergebnisse (z.B. Relevanz).

resultsPerPageOptions

list (uint)

Auswahlwerte für “Treffer pro Seite”.

Default: [20, 50, 100, 200]

defaultResultsPerPage

int

Voreinstellung der Treffer pro Seite (muss in resultsPerPageOptions enthalten sein).

maxResults

int

Maximalzahl der berücksichtigten / anzeigbaren Treffer einer Suche.

 


5. search.productSortOption - Sortierungsmöglichkeit

Der Knoten search.productSortOption definiert eine Sortiermöglichkeit für Kategorie - und Suchergebnisseiten. Er legt beispielsweise fest, wonach sortiert wird und in welcher Richtung.


Beispielkonfiguration (search.productSortOption.relevance):

{ "name": "Beliebtheit", "target": { "field": null, "special": "relevance" } }


Parameterbeschreibung:

Parameter

Typ

Beschreibung

Parameter

Typ

Beschreibung

name

string

Anzeigename der Sortierung im Frontend. (z.B. “Beliebtheit”).

target

oneOf

Legt fest, wonach sortiert wird - eine Variante wählbar:
field oder special

field

object

Sortierung nach einem konkreten Produktfeld.

field

enum

Produktfeld aus content.productField| content.customProductField, nach dem sortiert werden soll. (z.B. Preis)

direction

enum

Sortierrichtung der Sortierung.
asc= aufsteigend
desc= absteigend

special

enum

Systemsortierung nach Relevanz (relevance)

© 2025 WEBSALE AG | Impressum | Datenschutz