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 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.
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.
siehe auch: Paginierung und Sortierung
Name | Pflicht?2) | Query?3) | Settings?4) | Beschreibung |
---|---|---|---|---|
Sort | ja | ja | ja | Die 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. |
RowCount | ja | ja | ja | Wieviele Ergebnisse beginnend mit „StartAtRowNo“ sollen zurückgegeben werden? Sowohl RowCount als auch StartAtRowNo stehen für die Anzahl Artikel (unabhängig der Anzahl Varianten). |
StartAtRowNo | ja | ja | ja | siehe „RowCount“ |
Name | Pflicht? | Query? | Settings? | Beschreibung |
---|---|---|---|---|
ReturnFieldsForItems | ja | ja | ja | Die 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. |
ReturnFieldsForVariants | ja | ja | ja | Die 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. |
IncludeBinaries | nein | ja | ja | Welche Binaries sollen zurückgegeben werden (Komma-getrennte Liste von Feldnamen der Binary-Typen)? Standard: alle im Index vorhandenen. |
IncludeVariants | ja | ja | ja | Sollen die Varianten ebenfalls im Ergebnis enthalten sein? |
OnlyMatchingVariants | ja | ja | ja | Sollen 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. |
IncludePredecessors | nein | ja | ja | Sollen die Vorgänger der Artikel mit zurückgegeben werden? Standard: nein |
siehe auch: Facetten-Navigation, Tutorial Facetten-Navigation
Name | Pflicht? | Query? | Settings? | Beschreibung |
---|---|---|---|---|
ReturnFieldsForUsedValues | ja | nein | ja | Die 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. |
FilterForUsedValues | ja | ja | ja | Die 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. |
Query | ja | ja | ja | Eine 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. |
DomainTreeNodeIDs | ja | ja | ja | Zusä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> | nein | ja | ja | Jedes 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. |
siehe auch: Freitextsuche mit Relevanzsortierung
Name | Pflicht? | Query? | Settings? | Beschreibung |
---|---|---|---|---|
Search | nein | ja | nein | Fü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. |
FieldsForSearch | nein | nein | ja | In welchen Feldern soll bei der Freitextsuche gesucht werden. (default: alle) |
ConjunctionOperator | ja | ja | ja | Legt 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. |
BoostFieldsForSearch | ja | ja | ja | Treffer 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.
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: