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:

CategoryParent CategoryImage URL
3/4 HosenDamen/Bekleidungdamen-3-4-hosen
JeansHerren/Bekleidungherren-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 categoryparentCategory 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 Typ TEXT 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.