Fulltextové vyhledávání

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í.

Jaké části e-shopu jsou prohledávány?

Vyhledávací mechanismus hledá v těchto částech e-shopu:

  • produkty,
  • kategorie,
  • značky,
  • článek,
  • stránka.

Jaké prvky jsou v nich prohledávány?

Produkt

  • Kód,
  • EAN kód,
  • Název,
  • Krátký popis,
  • Dlouhý popis,
  • Značka,
  • Popisný parametr,
  • Kategorie: jedná se o seznam všech kategorií a podkategorií, ve kterých je produkt umístěn,
  • Varianty: kód produktu nebo varianty a název varianty složený z parametrů varianty.

Kategorie

  • Název: ukládá se 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.

Značka

  • 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.
  • Značka: 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 objeví alespoň v jednom z těchto polí, nebo se část slova, které zákazník zadá, objeví v názvu či kódu, 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. 

Shoda na kód produktu nebo 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 její výsledky jsou vždy zobrazeny 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, jestli 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 se 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.