FactFinder-Suchparameter
Beim Senden einer Suchanfrage an den FactFinder Search Server (über REST-API) können eine Reihe von Parametern angegeben werden, um zu steuern, welche Ergebnisse zurückgegeben werden und wie. Einige dieser Parameter sind erforderlich, während andere optional oder kontextabhängig sind.
Wenn Daten an FactFinder übergeben werden, ist es wichtig, dass die Kodierung korrekt eingestellt ist. UTF-8 ist die Standard- und erforderliche Kodierung, damit FactFinder Sonderzeichen korrekt verarbeiten kann
Die verfügbaren Suchparameter sind auch dokumentiert in der Swagger-UI unter der Methode
search
.
Basisparameter
Dies sind die grundlegenden Parameter, die in nahezu jeder Suchanfrage verwendet werden:
query
(String, erforderlich) – Der Suchbegriff oder die Phrase, die in der FactFinder-Datenbank nachgeschlagen werden soll. Dieser Parameter ist zusammen mitchannel
für jede Suchanfrage obligatorisch. Er repräsentiert, wonach der Benutzer sucht.channel
(String, erforderlich, Pfad) – Die Kennung des Channels, in dem gesucht werden soll. Wenn die Search-Umgebung mehrere Channels enthält (z. B. einen pro Sprache oder Produktkategorie), spezifiziert dieser Parameter, welcher Channel für die Anfrage verwendet wird. Wird kein Channel angegeben, verwendet das System standardmäßig den zuerst auf dem Server konfigurierten Channel.page
(Integer) – Die Seitenzahl der Ergebnisse, die abgerufen werden sollen. Suchergebnisse werden paginiert, wenn mehr Elemente vorhanden sind als die Standardseitenanzahl. Mit diesem Parameter kann eine bestimmte Seite der Gesamtergebnisse angefordert werden. Die Seitennummerierung beginnt bei 1 (page=1
ist die erste Seite der Ergebnisse).hitsPerPage
(Integer) – Die Anzahl der Ergebnisse, die pro Seite zurückgegeben werden sollen. Die FactFinder-Verwaltungsoberfläche definiert eine Standardanzahl von Treffern (Ergebnissen) pro Seite für die Suche. Durch die Verwendung vonhitsPerPage
wird dieser Standard für eine bestimmte Abfrage überschrieben. Zum BeispielhitsPerPage=20
fordert 20 Ergebnisse in der Antwort an. Wenn nicht angegeben, wird der konfigurierte Standardwert verwendet.sort
(Array von Strings) – Gibt Sortierkriterien für die Ergebnisse an, abgesehen von der standardmäßigen Relevanzsortierung. Ein oder mehrere Sortierkriterien können angegeben werden. Jedes Kriterium wird üblicherweise alsFieldName:order
angegeben. DieReihenfolge
kannasc
(aufsteigend) oderdesc
(absteigend) sein. Wenn mehrere Sortierkriterien angegeben werden, werden sie nacheinander angewendet. Zum Beispielsort=Manufacturer:asc
würde die Ergebnisse nach dem Feld "Manufacturer" in aufsteigender Reihenfolge sortieren.filter
(Array von Strings) – Filtert die Ergebnisse nach angegebenen Feldwerten. Ein Filter schränkt die Ergebnismenge auf Datensätze ein, die bestimmte Werte in einem gegebenen Feld haben (oft verwendet für Kategorienfilter, Attributsfilter usw.). Das Format ist typischerweisefilter=FieldName:Value
Ein Filter kann mehrere Werte haben; die Werte können mit den folgenden Zeichen getrennt werden (konfigurierbar in der config.xml
)":
‘und’ =
___
‘oder’ =
~~~
Ein Filterwert kann mit dem Präfix ausgeschlossen werden !
Format: filter=color:Red~~~!Green
kann interpretiert werden als color ist Red ODER color ist NICHT Green. In diesem Beispiel wird ~~~
als ODER-Trennzeichen zwischen "Red" und "!Green" verwendet. Das !
Präfix vor "Green" zeigt den Ausschluss dieses Wertes an.
Numerische Filter verwenden die standardmäßige mathematische Intervallnotation, wobei jedoch nur Intervalle zulässig sind, die links geschlossen und rechts offen sind. Daher sind nur Intervalle der Form [a,b)
, [a,)
, oder [a,]
zulässig. Eckige Klammern [
]
bezeichnen inklusive Grenzen und runde Klammern (
)
bezeichnen exklusive Grenzen.
Für Werte vom Typ Datum kann dieselbe Notation wie für numerische Filter verwendet werden. Zum Beispiel, um alle Artikel mit einem Startdatum innerhalb der 1990er aufzunehmen, könnte ein Filter lauten: filter=startdate1: [1990-01-01T00:00:00+00:00,2000-01-01T00:00:00+00:00)
. Das Datumsformat kann entweder ISO-8601 mit Zeitzone (yyyy-MM-dd'T'HH:mm:ssZZ), ein Unix-Timestamp in Millisekunden oder das für das spezifische Feld definierte Format sein.
substringFilter
(Array von Strings) - Filter für eine Teilzeichenfolge des Feldwerts. Ein Filter kann mehrere Werte haben; die Werte können mit den folgenden Zeichen getrennt werden (konfigurierbar in derconfig.xml
)‘und’ =
___
‘oder’ =
~~~
Ein Filterwert kann mit dem Präfix ausgeschlossen werden !
Format
searchField
(String) - Während FactFinder normalerweise alle Felder durchsucht, die als durchsuchbar definiert wurden, ist es auch möglich, die Suche mit diesem Parameter auf nur ein bestimmtes Feld zu beschränken.articleNumberSearch
(String) - Gibt an, ob die Abfrage als Artikelnummer interpretiert werden soll. Der Standardwert istDETECT
sid
(String) - Repräsentiert die Session-ID, die mit der Suchanfrage verbunden ist.userInput
(String) - Dieser Parameter wird verwendet, um die vom Shop-Benutzer eingegebenen Zeichen zu übermitteln, bis die Suchanfrage ausgelöst wurde.queryFromSuggest
(Boolean) - Zeigt an, dass die Abfrage durch eine Auswahl aus der Vorschlagsliste initiiert wurde. In diesem Fall sollte der Parameter mit dem Werttrue
.
gesendet werden
Parameter zur Steuerung des Suchprozesses
(Boolean) useSearchtrue
- Wenn auftrue
.gesetzt, wird die Suche für die bereitgestellte Abfrage ausgeführt. Der Standardwert für diesen Parameter ist
(Boolean) useSearchtrue
useAsntrue
., sollten für die Suchergebnisse Filter generiert werden. Der Standardwert für diesen Parameter ist
(Boolean) useFoundWords- Steuert, ob die Wörter, die verwendet wurden, um die Datensätze zu finden, für die gefundenen Ergebnisse zurückgegeben werden. Die Bestimmung dieser Wörter erfordert CPU-Zeit, und aus diesem Grund ist diese Funktion standardmäßig deaktiviert (
falsetrue
). Setzen Sie den Parameter auf- Steuert, ob die Wörter, die verwendet wurden, um die Datensätze zu finden, für die gefundenen Ergebnisse zurückgegeben werden. Die Bestimmung dieser Wörter erfordert CPU-Zeit, und aus diesem Grund ist diese Funktion standardmäßig deaktiviert (
um die Generierung von Suchwörtern zu aktivieren oder- Steuert, ob die Wörter, die verwendet wurden, um die Datensätze zu finden, für die gefundenen Ergebnisse zurückgegeben werden. Die Bestimmung dieser Wörter erfordert CPU-Zeit, und aus diesem Grund ist diese Funktion standardmäßig deaktiviert (
.wenn Suchwörter nicht benötigt werden. Der Standardwert ist
(Boolean) useCampaignstrue
- Steuert, ob der Campaign Manager überprüft, ob die Suchanfrage zu einer konfigurierten Kampagne passt. Wenn auf- Steuert, ob die Wörter, die verwendet wurden, um die Datensätze zu finden, für die gefundenen Ergebnisse zurückgegeben werden. Die Bestimmung dieser Wörter erfordert CPU-Zeit, und aus diesem Grund ist diese Funktion standardmäßig deaktiviert (
gesetzt, werden Kampagnen ausgewertet und gegebenenfalls zurückgegeben. Wenn aufgesetzt, werden Kampagnen ignoriert.
(Boolean) idsOnlytrue
- Standardmäßig enthält das Suchergebnis alle Feldinformationen über die gefundenen Produkte. Wenn nur die IDs der Produkte benötigt werden, kann dieser Parameter auf- Steuert, ob die Wörter, die verwendet wurden, um die Datensätze zu finden, für die gefundenen Ergebnisse zurückgegeben werden. Die Bestimmung dieser Wörter erfordert CPU-Zeit, und aus diesem Grund ist diese Funktion standardmäßig deaktiviert (
gesetzt werden, um zu verhindern, dass die Feldinhalte zurückgegeben werden, und somit Bandbreite zu sparen. Der Standardwert ist, was bedeutet, dass Feldinhalte übergeben werden.
(Boolean) useSearchtrue
useCachetrue
., wird das Suchergebnis aus dem Cache-Speicher zurückgegeben, wenn ein möglicherweise übereinstimmendes Ergebnis bereits im Cache vorhanden ist. Der Standardwert für diesen Parameter ist
(Array von Strings) cacheIrrelevant- Dient dazu, bestimmte Parameter als für Caching-Zwecke irrelevant zu kennzeichnen.
(Boolean) usePersonalizationtrue
- Ermöglicht das Aktivieren oder Deaktivieren der Query-Personalisierung. Wenn auf- Steuert, ob die Wörter, die verwendet wurden, um die Datensätze zu finden, für die gefundenen Ergebnisse zurückgegeben werden. Die Bestimmung dieser Wörter erfordert CPU-Zeit, und aus diesem Grund ist diese Funktion standardmäßig deaktiviert (
gesetzt, wird das Suchergebnis personalisiert, sofern das Personalisierungsmodul aktiviert ist und alle anderen relevanten Voraussetzungen erfüllt sind. Wenn auftrue
.gesetzt, wird das Suchergebnis nicht personalisiert. Der Standardwert für diesen Parameter ist
(Boolean) useSemanticEnhancertrue
- Ermöglicht das Aktivieren oder Deaktivieren der semantischen Erweiterung von Abfragen. Wenn auf- Steuert, ob die Wörter, die verwendet wurden, um die Datensätze zu finden, für die gefundenen Ergebnisse zurückgegeben werden. Die Bestimmung dieser Wörter erfordert CPU-Zeit, und aus diesem Grund ist diese Funktion standardmäßig deaktiviert (
gesetzt, wird das Suchergebnis semantisch erweitert, sofern das Enhancer-Modul aktiviert ist und alle anderen relevanten Voraussetzungen erfüllt sind. Wenn auftrue
.gesetzt, wird keine semantische Erweiterung angewendet. Der Standardwert für diesen Parameter ist
(Boolean) useAsotrue
- Ermöglicht das Aktivieren oder Deaktivieren der automatischen Suchoptimierung. Wenn auf- Steuert, ob die Wörter, die verwendet wurden, um die Datensätze zu finden, für die gefundenen Ergebnisse zurückgegeben werden. Die Bestimmung dieser Wörter erfordert CPU-Zeit, und aus diesem Grund ist diese Funktion standardmäßig deaktiviert (
gesetzt, wird das Suchergebnis automatisch optimiert. Wenn auftrue
.gesetzt, wird das Suchergebnis nicht optimiert. Der Standardwert für diesen Parameter ist
(Integer) maxCountVariants- Wenn Produktvarianten in den Daten verwendet werden (zum Beispiel ein Produkt, das mehrere Varianten wie verschiedene Größen oder Farben hat), definiert dieser Parameter die maximale Anzahl von Variantenartikeln, die für jeden Hauptprodukt-Datensatz in den Ergebnissen zurückgegeben werden sollen. Dies kann verwendet werden, um zu begrenzen, wie viele Varianten zurückgegeben werden, um eine zu große Antwort zu vermeiden.
(String) advisorStatus- Wird in Verbindung mit Advisor (einer Guided-Selling- oder Kampagnenfunktion) verwendet. Dieser Parameter kann die aktuelle Kampagnen-ID und den Antwortpfad des Benutzers in einem Guided-Selling-Szenario tragen. Das erwartete Format ist typischerweise
campaignId-answerPath. Es hilft FactFinder, den Zustand eines Dialogs oder einer Advisor-Kampagne bei der Verarbeitung der Abfrage zu kennen.
(Boolean) useSearchtrue
useDeduplicationtrue
., wird die konfigurierte Deduplizierung von Varianten auf die Suchergebnisse angewendet. Der Standardwert für diesen Parameter ist
(String) deduplicationField
- Gibt das Feld an, anhand dessen Varianten dedupliziert werden sollen.
Format
Zusätzliche Parameter- Das Antwortformat der Suchergebnisse. Da die XML- und JSON-Schnittstellen über eine URL aufgerufen werden, wird ein Parameter benötigt, um das Format anzugeben, in dem das Suchergebnis geliefert werden soll. Wenn diesem Parameter kein Wert zugewiesen wird, wird das Ergebnis standardmäßig im HTML-Format zurückgegeben. Mögliche Werte, die verwendet werden können, sind
,xml
jsonund
.jsonp
version6.11
,7.0
,7.1
json7.2
- Um die Migration zu neueren Versionen zu erleichtern, stellt FactFinder versionierte APIs zur Verfügung. Dadurch können Updates auf eine neuere FactFinder-Version durchgeführt werden, ohne sofort Änderungen am Integrationscode vornehmen zu müssen. Falls erforderlich, kann der Integrationscode anschließend angepasst werden, um neue Funktionen der neueren Version zu nutzen. In FactFinder 7.2 können die Wertefür diesen Parameter verwendet werden. Bitte beachten Sie, dass in den Anwendungseinstellungen eine Standardversion konfiguriert ist, sodass die explizite Verwendung dieses Parameters standardmäßig nicht erforderlich ist.
omitContextNametrue
- Wenn für diesen Parameter der Wertübergeben wird, beginnen die zurückgegebenen Suchparameter-URLs mit dem Aktionsnamen anstelle des Namens der FactFinder-Serveranwendung. Diese Funktionalität kann in Lastverteilungsinstallationen nützlich sein, in denen verschiedene FactFinder-Anwendungen unterschiedliche Namen haben können, oder sie kann in Standard-Bereitstellungsszenarien verwendet werden, um möglicherweise das Datenvolumen zu reduzieren, das übertragen wird.
log
Last updated
Was this helpful?