V tomto článku jsme pro vás připravili popis a vysvětlení, jak na našich e-shopech funguje fulltextové vyhledávání, tedy vyhledávání pomocí horní lišty hledání.
Obsah:
V jakých součástech e-shopu hledáme?
Vyhledávací mechanismus hledá v těchto součástech e-shopu (entitách):
- produkt
- kategorie
- výrobce
- článek, stránka
Jaké prvky v nich prohledáváme?
Produkt
- kód
- název
- krátký popis
- dlouhý popis
- výrobce
- kategorie (jedná se o seznam všech kategorií a podkategorií, ve kterých je produkt umístěn)
- varianty (kód produktu/varianty a název varianty složený z parametrů varianty)
Kategorie
- název (zde se ukládá celá cesta k podkategorii, ve které je produkt umístěn, tedy např.: Oblečení → Dětské → Kalhoty
- popis
Stránka, článek
- text článku
Výrobce
- název
- popis
Jak funguje hledání na příkladu
Předpokládejme, že máme na e-shopu produkt s následující prvky:
- Název: Jamie Buckle Satchel
- Krátký popis: Designově zajímavá kabelka lehce připomínající obálku z dílny Jamie Buckle musí zaujmout každou ženu, která požaduje praktičnost, ale chce i zaujmout.
- Dlouhý popis: Jak už bylo řečeno, tato kabelka vypadající trochu jako obálka, kombinuje decentní provedení samotného těla s poměrně výraznými koženkovými prvky, především pásky na zavírání. Interiér je nesmírně přehledný a prostorný, přičemž kabelka může být nošena pouze v ruce jako aktovka, nebo lze připnout i popruh přes rameno. Zajímavý design od přední návrhářky. Kožené tělo a koženkové prvky. Prostorný vnitřek.
- Výrobce: Jamie
- Kategorie: Módní doplňky → Kabelky
- Varianty: kód produktu = abc123
Největší váhu má při hledání kód produktu, potom název a popis. Pokud se klíčové slovo, nebo jen část slova, které zákazník zadá, objeví v těchto polích, pak se takový produkt ukáže ve výsledcích nahoře.
Při hledání je možné kombinovat více podmínek a pokud je alespoň jedna splněna, pak vyhledávání ukáže výsledky.
Podmínky jsou následující:
Shoda na kód produktu či varianty
Naše hledání umí kromě plné shody vyhledat i jen část ze zadaného výrazu.
Shoda na kód produktu nebo varianty má nejvyšší prioritu a chceme, aby byla vždy vpředu.
Například celý kód produktu je abc123
, hledaný výraz je c12
. Hledání tedy ukáže shodu a daný produkt se ukáže vysoko ve výsledcích.
Shoda na název produktu
Zjišťuje se, zda je poslední slovo hledaného výrazu obsaženo v názvu.
Pokud je výraz víceslovný, kdy slova jsou oddělena mezerami, tak se dělá rovněž shoda na poslední slovo v hledání. Na ostatních slovech v názvu se také hledá shoda, ale toto hledání dává mnohem menší skóre. Pokud při zadávání hledaného výrazu použijete čárky, pak dostane shoda na každé slovo stejnou váhu.
Například to funguje tak, že pokud máme název produktu Jamie Buckle Satchel
, tak pro hledaný výraz satchel
najde shodu. Pokud bude výraz víceslovný např. buckle
satchel
, tak opět najde shodu. Pokud ale bude hledaný výraz buk satchel
, tak shodu nenajde, přestože poslední slovo je správné.
Shoda na kombinaci polí
Pod tuto podmínku spadá všechno ostatní, co se nenajde pomocí dvou výše uvedených podmínek. Tato podmínka tedy asi vyhoví nejčastěji. Porovnávají se všechny prvky.
Podmínka vyhoví, pokud nastane plná shoda s jedním z polí. Z hledaného výrazu ve použije kořen slova.
Například hledaný výraz je vaničce
. Hledaný text se upraví na vanička
. Produkt je na e-shopu uveden jako vanička
, nastane tedy shoda.
Řazení výsledků
Výsledky se řadí podle výsledného skóre, které je dáno počtem splněných podmínek s přihlédnutím k jejich váhám.
Skóre se počítá podle počtu výskytů a podle délky hledaného textu. Kratší text dostává přednost před delším.
Například pokud bude text Jahody čerstvé ve vaničce
a Jahody a melouny ve vaničce a koši
, tak při hledání slova vanička
bude mít vyšší váhu první text, který je kratší). Pokud přidáme ještě text Jahody ve vaničce a dítě se koupe ve vaničce
tak na hledání slova vanička
se vrátí třetí text (slovo vanička je tam dvakrát). Pokud by byl ten třetí text mnohem delší, tak by už převážila váha prvního kratšího textu.