Januar 2019 (Version 1.0.1-0-20181212.163856-425 - 1.0.1-0-20190114.152423-438)
Neue Features
Configuration
Technical
Auf der Suchalgorithmus Seite kann nun per Slider ein Wert für den Tradeoff zwischen Performance und Suchqualität eingestellt werden. Ein kleinerer Wert verringert die Suchqualität, verbessert aber die Performance. Ein höherer Wert verbessert die Qualität, verschlechtert aber die Performance. Der empfohlene Standardwert ist 3
. Möglich sind dabei Werte von 0
bis 5
. In der XML Datei wird dieser Wert unter tuneSpeed/textQualityLevel
gespeichert, wobei der numerische Wert in einen Farbwert umgewandelt wird.
Sonstiges
Technical
Es gibt drei neue optionale Callbacks die Kategoriepfad Facetten im Suchergebnis bearbeiten. Alle Callbacks sind im Package de.factfinder.search.callbacks
zu finden.
ShowSiblingCategoryCallback
Normalerweise werden alle nicht selektierten Elemente in einer Kategoriepfad Facette ausgeblendet, sobald ein Element der Ebene selektiert wurde. Dieser Callback fügt die Alternativen Elemente wieder zur Facette hinzu. Das Startlevel für das Hinzufügen kann konfiguriert werden (Standard ist 0, was dem obersten Level entspricht). Über ein negatives Level kann der Callback deaktiviert werden.
Standardmässig läuft der Callback nur bei Suchanfragen, nicht bei Navigationsanfragen, dies kann aber konfiguriert werden. Bei internen Anfragen (Diagnosesuche, Demoshop und Swagger-UI) läuft der Callback nicht.
Da der Callback das Suchergebnis verändert muss er nach dem BuildResultCallback
konfiguriert werden. Beispielhafte Konfiguration:
{
"class": "de.factfinder.search.callbacks.ShowSiblingCategoryCallback",
"config" : {
"startLevel": 1,
"navigationEnabled": true,
"searchEnabled": false
}
}
FillCategoryInfoAsPreviewImageCallback
Dieser Callback setzt die previewImageUrl
Eigenschaft der Facettenelemente von Kategoriepfad Facetten, basierend auf einer CSV Datei.
Die gesetzte Url hängt dabei von der Kategorie des Elementes und von der optionalen Parent Kategorie des Elementes ab.
Die verwendete CSV Datei enthält dabei drei Spalten für die Kategorie, Parentkategorie und die zu verwendene Url. Diese drei Spalten müssen in exakt dieser Reinfolge vorkommen. Das Mapping könnte beispielsweise so aussehen:
Category | Parent Category | Image URL |
---|---|---|
3/4 Hosen | Damen/Bekleidung | damen-3-4-hosen |
Jeans | Herren/Bekleidung | herren-jeans |
Herren | - | herren |
Damen | - | damen |
Die CSV-Datei wird dabei als ImportFile in der Suchkonfiguration konfiguriert. Der fileType
kann dabei frei gewählt werden. In der Konfiguration des Callbacks wird dann der fileType
der CSV Datei spezifiziert, ebenso wie die Namen der drei Spalten.
Standardmässig läuft dieser Callback nur bei Suchanfragen, nicht bei Navigationsanfragen. Dies kann aber ebenfalls über die Konfiguration geändert werden.
Eine beispielhafte Konfiguration:
{
"class":
"de.factfinder.search.callbacks.FillCategoryInfoAsPreviewImageCallback",
"config": {
"sourceFileType": "categoryData",
"categoryField": "category",
"parentCategoryField": "parentCategory",
"imageField": "image",
"searchEnabled": true,
"navigationEnabled": false
}
}
Entsprechende ImportFile konfiguration in der Suchkonfig:
<import>
<...>
<file type="categoryData">
<name>{APP_RESOURCES}/export/categoryData.{CHANNEL}}.csv</name>
<encoding>UTF-8</encoding>
<csvFieldHeadlines>1</csvHeadlines>
<csvFieldDelimiter>;</csvFieldDelimiter>
</field>
</import>
Diese Datei würde dann die Spalten category
, parentCategory
und image
in genau dieser Reinfolge enthalten. Da der Callback die Facetten im Suchergebnis bearbeitet, muss er nach dem BuildResultCallback
platziert werden.
KeepCategoryPathFilterInNavigationCallback
Dieser Callback sorgt dafür, dass der Filter für ein selektiertes Kategoriepfad Element in den Suchparametern dieses Elementes erhalten bleibt. Filter für tiefer liegende Kategorieen werden dabei weiterhin entfernt. Wenn beispielsweise ein Kategoriepfad Herren/Bekleidung/Hosen
ausgewählt ist, so würde das Element Herren/Bekleidung
in seinen Suchparametern nur den Filter für Herren
enthalten. Der Callback sorgt nun dafür, dass ebenso der Filter für den Pfad Herren/Bekleidung
in den Suchparametern enthalten ist. Der Filter auf Hosen
bleibt entfernt, da er auf einem tieferen Level liegt. Dieser Callback läuft nur bei Navigationsanfragen und kann nicht weiter konfiguriert werden. Da er die Facetten im Suchergebnis bearbeitet, muss er nach dem BuildResultCallback
platziert werden.
ImportFile Cache
Die standardmässige Cachekonfigurationsdatei (ehache.xml
) enthält ein zusätzliches Cache-Template.
<!-- This is the template for the generic importFile data cache. It is heap only -->
<ehcache:cache-template name="importFile">
<ehcache:key-type>java.lang.String</ehcache:key-type>
<ehcache:value-type>de.factfinder.cache.ImportFileData</ehcache:value-type>
<ehcache:expiry>
<ehcache:ttl unit="minutes">10</ehcache:ttl>
</ehcache:expiry>
<ehcache:resources>
<ehcache:heap unit="entries">5</ehcache:heap>
</ehcache:resources>
</ehcache:cache-template>
Dieser Cache wird vom FillCategoryInfoAsPreviewImageCallback
verwendet um die Daten der gelesenen CSV zu cachen. Wenn eine eigene Cachekonfigurationsdatei verwendet wird, ist sicherzustellen, dass diese ebenfalls dieses Template enthält. Templatename, Keytype und Valuetype dürfen dabei nicht verändert werden.
Sonstiges
Technical
Der optionale Callback PrefixForImageUrlSearchCallback
fügt bei internen Suchanfragen (Swagger-UI, Diagnose-Suche und Demoshop) einen konfigurierten Prefix zur imageUrl
für jedes Produkt im Suchergebnis hinzu. Dabei sind aber einige Bedingungen zu beachten:
- Es muss ein Prefix konfiguriert sein
- Es muss ein Feld mit der Feldrolle
imageUrl
geben - Das
imageUrl
Feld muss den TypTEXT
haben - Der Callback muss hinter dem
BuildResultCallback
platziert werden
Beispielhafte Konfiguration:
{
"class" :
"de.factfinder.search.callbacks.PrefixForImageUrlSearchCallback",
"config" : {
"prefix" : "https://www.myshop.de/img/"
}
}
Verbesserungen/Änderungen
UI: Management Interface
Technical
In der Systemübersichtsseite werden nun Informationen über die Nutzung der Web Components angezeigt.
UI: Search (Demoshop)
Technical
In der Standardkonfiguration bei Erstellung eines neuen Channels gibt es nun zwei neue Feedback Texte:
shopping cart - above products
shopping cart - below products
Bei einer bestehenden FACT-Finder Installation, die nicht auf eine der betroffenen Versionen migriert wird, muss dafür dass channel template Verzeichnis (Standard APP_RESSOURCES/conf/channel-templates
) gelöscht werden. FACT-Finder wird das Verzeichnis beim Start neu anlegen und die aktualisierten Templates kopieren. Bei Migration auf eine der betroffenden Versionen, wird der Migrator das Verzeichnis löschen und die neuen Feedback Texte zu bestehenden Konfigurationen hinzufügen (sofern sie nicht bereits vorhanden sind).
Bugfixes
Analysis
Technical
Die Analyseseite zu den Suchbegriffen zeigt nun auch die Anzahl der Suchbegriffe an, die nur über ASN, Navigation oder Klicks aufgetreten sind, nicht aber über eine initiale Suche. Die Begriffe selbst werden nicht angezeigt, da die Werte und Verhältnisse auf dieser Seite sich explizit auf die initialen Suchen beziehen. Suchbegriffe können beispielsweise dann nur für die ASN auftauchen, wenn der Shop den Kunden erst navigiert und dann suchen lässt. Bei der Suche sind dann schon entsprechende Kategoriefilter gesetzt und die Suche wird nicht mehr als initiale Suche gewertet.
Recommendation Engine
Technical
Ein Fehler wurde behoben, der dazu geführt hat, dass manuelle Empfehlungen nicht funktionierten, wenn die Produkte über eine Liste von Artikelnummern definiert wurden, die nicht aus dem trackingProductNumber
Feld stammten.
Sonstiges
Technical
Die Einstellung categoryPathLevel
für virtuelle Felder wurde entfernt, da sie keinen Nutzen mehr hat.
Sonstiges
Technical
Der Tooltip für suchparameter basierte gepushete Produkte hat nach dem erstmaligen Anlegen keine Suchparameter mehr angezeigt. Dieser Fehler wurde behoben.