Smart Search (e-shop)
Nastavení e-shopu v systému K2
Pro využití funkce Smartsearch na e-shopu je nejdříve nutné nakonfigurovat Elasticsearch v IS K2. Konfigurace je blíže popsána v části Elasticsearch - Konfigurace v K2.
Dalším krokem je nastavení konkrétního e-shopu, aby používal vyhledávání přes Elasticsearch.
V knize Weby a e-shopy se na záznamu pro daný e-shop přepneme do změny a stiskneme tlačítko Nastavení webu a e-shopu. Na záložce Vyhledávání zatrhneme Použít Smart Search vyhledávání.
Obr.: Použít Smart Search vyhledáváni
Na záložce Nastavení Smart Search definujeme oblasti vyhledávání pro našeptávač a pro výsledky hledání.
Obr.: Nastavení Elasticsearch indexů
Pomocí tlačítka Nastavení Elasticsearch indexů otevřeme konfiguraci Elasticsearch indexů.
Tlačítko Výchozí nastavení indexů nám vygeneruje základní indexy a doplní požadované údaje:
- Základní název indexů – pro pojmenování v databázi Elasticsearch. Vzhledem k možnosti provozovat vůči jedné instalaci Elasticsearch více e-shopů i z více různých instalací K2, je vhodné zvolit jednoznačný název, např. dle e-shopu.
- Název šablony indexů – pojmenování šablony indexů vytvořené v předchozím kroku. Pokud je např. šablona pojmenovaná jako web_search_cs, do tohoto pole uvedeme pouze web_search.
Obr. Nastavení indexů
Poznámka: Po rozkliknutí vytvořeného indexu se otevře formulář s jeho detailní konfigurací. Pro každý index lze nastavit, která pole mají být z K2 exportována a jak se má sestavovat hledací dotaz. Hledacím dotazem lze přímo ovlivňovat získané výsledky na webu, lze ovlivňovat prioritu jednotlivých analyzátorů a polí (název, popis, …). Podrobný popis možnosti tvorby hledacích dotazů je nad rámec této dokumentace. Podrobně je popsáno v dokumentaci Elasticsearch.
Tlačítkem Vytvoření všech indexů dojde k vytvoření všech potřebných indexů v Elasticsearch. Úspěšné vytvoření indexů je potvrzeno hlášením.
Obr. Úspěšné vytvoření indexů
Nakonec všechny dialogy potvrdíme a uložíme záznam v knize Weby a e-shopy.
V Nastavení Elasticsearch indexů, tabulka Indexy, máme možnost nastavení volitelných parametrů pro jednotlivé segmenty výsledků hledání. Například při zvoleném typu indexu Zboží si správce pomocí zatržítka zvolí, které synchronizace se mají v rámci aktualizace na daném segmentu propisovat (exportovat).
Obr.: Typ indexů - synchronizace
Import dat do Elasticsearch
Po základní konfiguraci a vytvoření indexů je nutné vyexportovat data do Elasticsearch. Pro první nahrání dat, případně vynucení ruční aktualizace, je možné použít akce, které jsou dostupné v prohlížení nad formulářem s nastavením indexů (viz předchozí kapitola).
K dispozici jsou 2 funkce:
- Kompletní import dat – nahraje z K2 veškerá data (zboží, kategorie, značky, blogové články) do Elasticsearch indexů.
- Aktualizace dat – nahraje do Elasticsearch pouze změněné záznamy od poslední aktualizace nebo kompletního importu dat.
Po spuštění těchto akcí je zobrazen dialog se souhrnem, případně výpisem chybových stavů u jednotlivých záznamů.
Automatická aktualizace dat v Elasticsearch
Pro zajištění automatické aktualizace dat v Elasticsearch existuje speciální plánovaná úloha, která zajišťuje inkrementální aktualizace dat v Elasticsearch. Tato plánovaná úloha funguje na principu tzv. časových razítek (polí Timestamp), podle nichž vybírá záznamy změněné od poslední aktualizace a pouze tyto změněné záznamy exportuje z K2.
Plánovaná úloha je k dispozici v nabídce akcí - Web a e-shop / Elasticsearch: aktualizace dat pro e-shop/web.
Jediným parametrem plánované úlohy je výběr e-shopu, jehož data má tato plánovaná úloha aktualizovat.
Obr. Zástupce "Elasticsearch: aktualizace dat pro e-shop/web"
Nastavení K2 e-shopu pro použití Elasticsearch
Pro použití Elasticsearch je nutné nakonfigurovat i na straně K2 E-shopu umístěném na webovém serveru. Samostatná konfigurace je nutná z důvodu doporučeného umístění webu/e-shopu v DMZ, kdy je pravděpodobné, že bude Elasticsearch k dispozici pod jiným názvem/IP adresou než z vnitřního doménového prostředí. V konfiguračním souboru config.php je nutno doplnit tyto řádky:
$CONFIG['elasticEnabled'] = true;
$CONFIG['elasticHosts'] = [
[
'host' => 'k2providerweb',
'port' => 9200,
'scheme' => 'http'
]
];
Výsledky hledání a našeptávač na webu
Vzhled našeptávače a výsledků hledání je při použití Smart Search na webu odlišný než v případě klasického vyhledávání.
Do výsledků jsou dle nastavení v K2 zahnuty kromě produktů i kategorie, značky produktů, blogové příspěvky nebo parametry kategorie (např. horská, dětská, atd..)
V našeptávači je vždy zvýrazněn shodující se text.
Obr. Našeptávač na webu
Na stránce s výsledky vyhledávání jsou v horní části nejprve uvedeny nalezené značky, následně kategorie a pak teprve konkrétní produkty. Což umožní následné dofiltrování. Nabízí možnost řazení produktů podle vychozí, kódu vzest a sest., názvu vzest. a sest., ceny vzest. a sest. a doporučené.
Obr. Výsledky hledání
V případě, že je na hledaný výraz nalezeno velké množství produktů, je uživateli zobrazeno upozornění s přibližným počtem a zobrazeno pouze prvních 500 produktů.
Vyhodnocení funkčnosti vyhledávání
Po nasazení Elasticserach je vhodné po čase vyhodnotit, jak dobře pro konkrétní data konkrétního e-shopu fungují použité analyzátory a použité definice hledacích dotazů. Za účelem vyhodnocení hledaných slov a výrazů je vhodné na webu nasadit Google Analytics. K2 e-shop následně do Google Analytics bude odesílat události pro každé hledání i zobrazení našeptávače. Kromě seznamu nejčastěji hledaných výrazů na webu získáme také seznam výrazů, pro které se nezobrazily žádné výsledky. Pokud se jedná o opakovaný výskyt takových slov, je nutné řešit, proč na tyto výrazy nedostávají uživatelé žádné výsledky. Buď je potřeba hledané fráze dostat do názvů a popisů kategorií a produktů nebo provést optimalizaci nastavení Smart Search.
Informace o hledaných výrazech jsou v Google Analytics k dispozici v sekci Chování/Události. Jedná se o události kategorie search – plné výsledky hledání a searchAutocomplete – výsledky zobrazení našeptávače.
Každá tato kategorie se dále člení:
- Akce – nabývá 2 možných hodnot:
- Results (byl vrácen nějaký výsledek) a
- ZeroResults (na hledaný výraz nebyla zobrazena žádná položka výsledků
- Štítek – obsahuje uživatelem zadaný hledaný výraz
Kromě sledování událostí je také doporučeno nakonfigurovat standardní analýzu vyhledávání v rámci Google Analytics (sekce Chování/Vyhledávání na webu). Tato sekce ale zobrazuje pouze výsledky plného vyhledávání, nezohledňuje průchod přes našeptávač. Pro nastavení plnění dat do této sekce je nutné v konfiguraci webu na stránkách Google Analytics v části Nastavení výběru dat zapnout volbu Sledování vyhledávání webu a doplnit Parametr v URL na hodnotu search.