Benutzer-Werkzeuge

Webseiten-Werkzeuge


webservice:item-get-parametersandsettings

Konfiguration und Parameter item/get

Allgemeines

Die Methode item/get hat als einzigen Pflicht-Parameter den Parameter „Template“. Dieser steuert welche Konfiguration im jeweiligen Request verwendet werden soll und damit die weiteren Parameter.

Neben den weiter unten beschriebenen, fest benannten Parametern kann jeder Feldname des No-SQL-Index als Parameter zur Filterung der Artikeldaten verwendet werden. Zur Filterung wird eine spezielle Filter-Syntax verwendet.

Templates

Templates fassen einen Satz von Konfigurationen für ein bestimmtes Szenario zusammen und werden als Application-Settings eingerichtet. Alle Einstellungen werden dort als „globale“-Einstellungen1) hinterlegt.

Die Templates sollten klare, nachvollziehbare Namen bekommen die den Einsatzzweck deutlich machen („Artikeldetailseite“, „OutletFacettennavigation“, „Productfeed_Google“). Es ist u.a. später ohne Veränderung am Quellcode einer Anwendung nämlich möglich die Datenbasis zu verändern und dazu ist eine Zuordnung der Templates zu „Einsatzgebieten“ notwendig. Es können beliebig viele „Templates“ definiert werden.

Parameter

Die folgenden Tabellen zeigen die möglichen Parameter eines Templates. Sollen die Parameter als Query-Parameter je Request übergeben werden (und nicht fest definiert sein) müssen diese im Bereich „Parameters“ zum Template hinterlegt werden.

Sortierung und Paginierung

siehe auch: Paginierung und Sortierung

Name Pflicht?2) Query?3) Settings?4) Beschreibung
SortjajajaDie Feldnamen der Felder, nach denen auf- bzw. absteigend sortiert werden soll im Format FeldName1_(„asc“ bzw. „desc“),..FeldNameN_(„asc“ bzw. „desc“). Sofern keine Sortierung angegeben ist wird nach „Relevanz“ (internen Lucene-Score) sortiert. Leere Werte („NULL“) werden immer nach unten sortiert.
RowCountjajajaWieviele Ergebnisse beginnend mit „StartAtRowNo“ sollen zurückgegeben werden? Sowohl RowCount als auch StartAtRowNo stehen für die Anzahl Artikel (unabhängig der Anzahl Varianten).
StartAtRowNojajajasiehe „RowCount“

Inhalt der Rückgabe

Name Pflicht? Query? Settings? Beschreibung
ReturnFieldsForItemsjajajaDie Feldnamen der Eigenschaften, die für Artikel zurückgegeben werden sollen.
UnitNetPrice bzw. UnitGrossPrice für den Netto- bzw. Brutto-Verkaufpreis für die anonyme Person.
„leer“: Alle Felder/Eigenschaften zurückgeben.
ReturnFieldsForVariantsjajajaDie Feldnamen der Eigenschaften, die für Varianten zurückgegeben werden sollen.
UnitNetPrice bzw. UnitGrossPrice für den Netto- bzw. Brutto-Verkaufpreis für die anonyme Person.
„leer“: Alle Felder/Eigenschaften zurückgeben.
IncludeBinariesneinjajaWelche Binaries sollen zurückgegeben werden (Komma-getrennte Liste von Feldnamen der Binary-Typen)? Standard: alle im Index vorhandenen.
IncludeVariantsjajajaSollen die Varianten ebenfalls im Ergebnis enthalten sein?
OnlyMatchingVariantsjajajaSollen alle Varianten oder ausschließlich durch die Suche oder den Filter getroffene Varianten zurückgegeben werden? Hinweis: Ein Wert von „0“ (alle Varianten ermitteln) hat bei Suchergebnissen mit vielen Artikeln (in der Größenordnung: 10.000) negative Auswirkungen auf die Antwortzeiten.
IncludePredecessorsneinjajaSollen die Vorgänger der Artikel mit zurückgegeben werden? Standard: nein

Filterung und Facetten-Navigation

siehe auch: Facetten-Navigation, Tutorial Facetten-Navigation

Name Pflicht? Query? Settings? Beschreibung
ReturnFieldsForUsedValuesjaneinjaDie Feldnamen für die UsedValues zurückgegeben werden sollen. Dabei ist nicht zwingend erforderlich, dass die zugehörigen Merkmale im dStore nur vordefinierte Werte („PredefinedValues“) zulassen. Sofern nichts angegeben wird, werden auch keine „UsedValues“ zurückgegeben.
UnitNetPrice bzw. UnitGrossPrice für den Netto- bzw. Brutto-Verkaufpreis für die anonyme Person.
FilterForUsedValuesjajajaDie Felder, nach denen die Ermittlung der UsedValues eingeschränkt werden soll. Kombiniert man die Freitextsuche mit der Facettennavigation, so sollte hier immer der Wert „Search“ aufgenommen werden.
QueryjajajaEine Query in Lucene-Query-Syntax, die mit allen anderen Suchbedingungen mit UND verknüpft wird. Damit lassen sich komplexere Suchbedingungen realisieren. Beispielsweise führt „(+Binaries_Produktbild:[0 TO a] -VariantTreeNodeIDs:[0 TO a])“ zur zusätzlichen Bedingung, dass nur in Varianten gesucht wird und immer ein Produktbild vorhanden sein muss. Falls leer gibt es keine zusätzliche Bedingung.
DomainTreeNodeIDsjajajaZusätzliche Einschränkung, dass nur Produkte eines Bereichs des Artikelbaums gefunden werden. Der Wert „0“ bezeichnet immer das Wurzelelement und bedeutet „keine Einschränkung“. Es handelt sich um eine kommaseparierte Liste von TreeNodeIDs
<Index-Feldname>neinjajaJedes Feld aus dem Index kann zur Filterung, unter Verwendung einer speziellen Filter-Syntax, als Parameter verwendet werden. Dabei kann es nicht unter dem Applikations-Teil „Parameter“ hinterlegt werden.

Freitextsuche

siehe auch: Freitextsuche mit Relevanzsortierung

Name Pflicht? Query? Settings? Beschreibung
SearchneinjaneinFührt eine Freitext-Suche über alle Eigenschafts-Felder des Index und zusätzlich über NodeDescription und Predecessor-NodeDescriptions durch. Bei mehreren Wörtern wird überprüft, ob die Suche mit UND verknüpft ein Ergebnis liefert. Ist dies nicht der Fall, werden sie mit ODER verknüpft. Es werden in der Rückgabe zusätzlich für die ersten drei Wörter von „Search“ mögliche Alternativschreibweisen, die auch Treffer, liefern zurückgegeben.
FieldsForSearchneinneinjaIn welchen Feldern soll bei der Freitextsuche gesucht werden. (default: alle)
ConjunctionOperatorjajajaLegt fest mit welchem Operator mehrere Wörter des Search-Parameters verknüpft werden. Dies schaltet die automatische und/oder-Logik (siehe „Search“-Parameter) aus. Mögliche Werte: and, or.
BoostFieldsForSearchjajajaTreffer in diesen Felder werden bei der Ermittlung der Relevanz höher gewichtet. Hintergrund: Ein User möchte natürlich Suchergebnisse, bei denen der Suchbegriff in den angezeigten Felder vorkommt, möglichst weit oben in der Trefferliste haben.

Für die Festlegung aus welchen Feldern Vorschläge für Alternativbegriffe verwendet werden sollen ist die Einstellung DidYouMeanFields unter OperationSettings/GetItems zuständig (ist also nicht pro Template einstellbar). Sofern nicht angegeben werden alle Felder für Ermittlung von Alternativbegriffen verwendet.

Konfiguration

Jedes Template ist ein eigener Applikations-Teil und hat einen (Unter-)Applikations-Teil „Parameter“, welcher jeweils wieder für jeden Parameter einen eigenen Teil hat. Hier können die Parameter (der Tabellen oben) definiert werden die je Request als Query-Parameter übergeben werden können.

Die folgende über das admin_SmartGate einlesbare Konfiguration zeigt dies:

applicationsettings_item-get.xml

1)
diese Einstellungen gelten für alle User und sind nur von Benutzer mit ausdrücklicher Berechtigung änderbar
2)
Die Einstellung muss in ApplicationSettings konfiguriert sein (entweder im Bereich „Parameters“ des jeweiligen Templates oder als Einstellung direkt zum Template).
3)
Der Parameter kann auch dynamisch pro Request gesetzt werden. Dazu muss dieser aber vorher im Bereich „Parameters“ des jeweiligen Templates definiert werden (Ausnahme:<Index-Feldname>). Dabei kann ein Default-Wert, eine Beschreibung und ein RegEx-Pattern konfiguriert werden.
4)
Zeigt an ob der Parameter über Application Settings fest zum Template konfiguriert werden kann.
webservice/item-get-parametersandsettings.txt · Zuletzt geändert: 13.11.2014 (Externe Bearbeitung)