Fuzzy vyhledávání je hledání, které najde výsledky i tehdy, když se dotaz s textem produktu přesně neshoduje. Zákazník napíše „sapmon“, „samon“ nebo „sampon“ a e-shop mu i tak ukáže šampony. Funguje to tak, že vyhledávač spočítá, kolik úprav (vložení, smazání, záměna nebo prohození písmen) je potřeba na přeměnu jednoho slova na druhé, a povolí malý počet chyb.
Proč na tom záleží víc, než se zdá
Lidé na mobilu píšou rychle, palcem a často bez diakritiky. Názvy značek a cizí slova píšou podle výslovnosti. Baymard Institute zjistil, že 69 % e-shopů neukáže v našeptávači rozumné návrhy při malém překlepu. Ve stejném výzkumu 56 % e-shopů celkově nezvládalo to, co lidé do vyhledávání reálně zadávají.
Výsledek je jednoduchý: zákazník vidí „Nebyly nalezeny žádné produkty“ a odejde. Přitom zboží skladem máte.
Jak fuzzy vyhledávání funguje
Editační vzdálenost
Základem je Levenshteinova vzdálenost: počet vložení, smazání a záměn písmen. Slova „kabat“ a „kabát“ mají po odstranění diakritiky vzdálenost 0, „kbát“ a „kabát“ vzdálenost 1.
Při psaní na klávesnici je velmi častá chyba prohození dvou sousedních písmen (například „kbaát“). Klasický Levenshtein ji počítá jako dvě chyby. Varianta s prohozením (Damerau-Levenshtein, v omezené podobě nazývaná OSA, optimal string alignment) ji počítá jako jednu. Pro e-shop je to podstatný rozdíl, protože u krátkých slov se povoluje jen jedna chyba.
Kolik chyb povolit
Příliš velká tolerance škodí. U slova „lak“ by dvě chyby našly i „mák“, „lano“ či „jak“. Rozumné pravidlo je žádná chyba u velmi krátkých slov, jedna u středních a dvě u dlouhých.
Odkud brát správná slova
Vyhledávač neopravuje podle obecného slovníku, ale podle slov, která se opravdu vyskytují ve vašem katalogu. Proto opraví „bosh“ na „bosch“, pokud Bosch prodáváte, a nebude vymýšlet slova, která nemáte.
Diakritika: nejčastější chyba, která není překlep
V češtině a slovenštině je diakritika samostatné téma. Zákazník, který napíše „cerveny“, se nespletl, jen ji vynechal. Vyhledávání by mělo text produktů i dotaz před porovnáním sjednotit (odstranit čárky, háčky a kroužky) a až potom hledat překlepy. Jinak se chybějící diakritika započítá jako chyba a u delšího slova vyčerpá celou toleranci.
Měli jste na mysli: oprava, kterou zákazník vidí
Pokud vyhledávač najde výsledky jen pro opravené slovo, má to zákazníkovi říct. Například „Zobrazuji výsledky pro šampon. Hledat přesně sapmon?“. Zákazník tak ví, proč vidí, co vidí, a u opravdu zvláštního názvu (kód, model) se může vrátit k původnímu dotazu.
Kdy fuzzy vyhledávání nepomůže
- Jiné slovo pro tutéž věc. „Tenisky“ a „botasky“ nejsou překlep, na to potřebujete synonyma ve vyhledávání e-shopu.
- Jiný tvar slova. „Nabíječka“ a „nabíječkami“ se liší víc než jednou úpravou. To řeší stemming a lematizace.
- Kódy a čísla. U kódů produktů (SKU, EAN) je tolerance chyb spíš na škodu, protože při záměně jedné číslice najde jiný výrobek.
Jak to řeší wooacademy search 1.0.3
- Text produktů i dotaz se porovnávají bez diakritiky.
- Překlepy počítá včetně prohozených písmen (OSA), ne jen klasickým Levenshteinem.
- Opravuje podle slovníku slov z vašeho katalogu, který si plugin udržuje při indexování.
- Když výsledky pocházejí z opravy, zobrazí „Měli jste na mysli“.
- Oprava funguje už v našeptávači během psaní, ne až na stránce výsledků.
- Dotazy, které ani po opravě nic nenašly, uvidíte ve statistice nulových výsledků.
Překlepy už nebudou stát objednávky
wooacademy search 1.0.3 opraví překlep, chybějící diakritiku i prohozená písmena a výsledky seřadí podle prodejů a skladu.
Chci vyhledávání na svůj e-shop · roční licence pro 1 doménu 249 €, s nastavením na klíč 499 €
Rychlý test na vašem e-shopu
Vyberte pět nejprodávanějších produktů a do vyhledávání napište jejich název s jedním překlepem a bez diakritiky. Pokud se aspoň v jednom případě zobrazí prázdná stránka, vyhledávání vám ztrácí zákazníky. O které dotazy jde, zjistíte z přehledu nulových výsledků ve vyhledávání.
Časté otázky
Jaký je rozdíl mezi fuzzy vyhledáváním a opravou překlepů?
Fuzzy vyhledávání je princip, tedy povolení malých rozdílů mezi dotazem a textem. Oprava překlepů je jeho viditelný výsledek, například hláška Měli jste na mysli.
Nezpomalí fuzzy vyhledávání e-shop?
Při porovnávání s celým katalogem ano. Proto wooacademy search porovnává dotaz se slovníkem slov z indexu, ne s každým produktem zvlášť.
Hledá wooacademy search i bez diakritiky?
Ano. Text produktů i dotazy porovnává bez diakritiky, takže košile, kosile i kosíle najdou totéž.
Dají se některá slova z opravy vyloučit?
Pro přesné přesměrování nebo výsledky konkrétního dotazu použijte pravidla (připnutí, přesměrování). Opravy se dělají jen na slova z vašeho katalogu.
Autor: Milan Fraňo, wooacademy.sk. Dělám WooCommerce e-shopy, měření a SEO. Plugin wooacademy search jsem vyvíjel pro e-shopy, které chtějí dobré vyhledávání bez měsíčního poplatku externí službě.





