V tomto článku sme pre Vás pripravili popis a vysvetlenie, ako na našich e-shopoch funguje fulltextové vyhľadávanie, teda vyhľadávanie pomocou hornej lišty hľadania.
Vyhľadávací mechanizmus hľadá v týchto častiach e-shopu:
Predpokladajme, že máme na e-shope produkt s následujúcimi prvkami:
Najväčšiu váhu má pri hľadaní kód produktu, potom názov a popis. Pokiaľ sa kľúčové slovo alebo iba časť slova, ktoré zákazník zadá, objaví v týchto poliach, potom sa taký produkt ukáže vo výsledkoch hore.
Pri hľadaní je možné kombinovať viac podmienok a pokiaľ je aspoň jedna splnená, potom vyhľadávanie ukáže výsledky.
Naše hľadanie vie okrem plnej zhody vyhľadať len časť zo zadaného výrazu.
Zhoda na kód produktu alebo varianty má najvyššiu prioritu a jej výsledky sú vždy zobrazené vpredu.
Napríklad celý kód produktu je abc123
, hľadaný výraz je c12
. Hľadanie teda ukáže zhodu a daný produkt sa ukáže vysoko vo výsledkoch.
Zisťuje sa, či je posledné slovo hľadaného výrazu obsadené v názve.
Pokiaľ je výraz viacslovný, kedy slová sú oddelené medzerami, tak sa robí rovno zhoda na posledné slovo v hľadaní. Na ostatných slovách v názve sa taktiež hľadá zhoda, ale toto hľadanie dáva omnoho menšie skóre. Pokiaľ pri zadávaní hľadaného výrazu použijete čiarky, potom dostane zhoda na každé slovo rovnakú váhu.
Napríklad to funguje tak, že pokiaľ máme názov produktu Jamie Buckle Satchel
, tak pre hľadanie výraz satchel
nájde zhodu. Pokiaľ bude výraz viacslovný napr. buckle
satchel
, tak opäť nájde zhodu. Pokiaľ ale bude hľadaný výraz buk satchel
, tak zhodu nenájde, aj napriek tomu, že posledné slovo je správne.
Pod túto podmienku spadá všetko ostatné, čo sa nenájde pomocou dvoch vyššie uvedených podmienok. Táto podmienka teda asi vyhovie najčastejšie. Porovnávajú sa všetky prvky.
Podmienka vyhovie, pokiaľ nastane plná zhoda s jedným z polí. Z hľadaného výrazu sa použije koreň slova.
Napríklad hľadaný výraz je vaničke
. Hľadaný text sa upraví na vanička
. Produkt je na e-shope uvedený ako vanička
, nastane zhoda.
Výsledky sa radia podľa výsledného skóre, ktoré je dané počtom splnených podmienok s prihliadnutím k ich váham.
Skóre sa počíta podľa počtu výskytov a podľa diaľky hľadaného textu. Kratší text dostáva prednosť pred dlhším.
Napríklad pokiaľ bude text Jahody čerstvé vo vaničke
a Jahody a melóny vo vaničke a koši
, tak pri hľadaní slova vanička
bude mať vyššiu váhu prvý text, ktorý je kratší. Pokiaľ pridáme ešte text Jahody vo vaničke a dieťa sa kúpe vo vaničke
, tak na hľadanie slova vanička
sa vráti tretí text (slovo vanička je tam dvakrát). Pokiaľ by bol ten tretí text oveľa dlhší, tak by už prevážila váha prvého kratšieho textu.