Tři zápisy téhož rozměru, tři různé výsledky. Problém není v relevanci.

Zákazník napíše rozměr třemi způsoby a dostane tři různé sady výsledků. Ani jedna z nich se přitom neprojeví jako chyba. Ukazujeme, kde problém doopravdy vzniká, proč ho běžné reporty nezachytí a co udělalo jeho odstranění s nDCG.

5.8.2026

I

Vezměte si libovolný e-shop s nábytkem a pošlete do jeho vyhledávání tři dotazy: matrace 140x200, matrace 140 x 200, matrace 140×200. Pro zákazníka je to jeden a týž dotaz. Pro vyhledávání to jsou tři různé dotazy s třemi různými výsledkovými sadami.

Na jednom reálném indexu, který jsme měřili, to vypadalo takto: první zápis vrátil 17 výsledků, druhý 207 (od sedmé pozice v nich byly jiné velikosti, než zákazník chtěl) a třetí varianta s typografickým znakem násobení nenašla nic.

Žádná z těch tří odpovědí není správně. A co je horší, ani jedna z nich se neprojeví jako chyba.

Kde ta chyba doopravdy je

Instinktivní reakce bývá sáhnout po relevanci: přidat boost, doladit váhy polí nebo nasadit sémantiku. Nic z toho nepomůže, protože problém vzniká o vrstvu níž, při analýze textu. Než se vůbec dostane ke slovu skórování, je už výsledková množina špatně poskládaná.

Vyhledávání na e-shopu je typicky vyladěné na přirozený jazyk. Umí pracovat s tvaroslovím a rozumí synonymům. Zápis 140x200 ale není slovo. Jde o technický řetězec, který se řídí jinými pravidly než věta, a standardní jazyková analýza s ním zachází jako s náhodným shlukem znaků a číslic.

Konkrétně se to láme na třech nezávislých místech:

Typografické varianty se nikdy nepotkají. Zákazník napíše malé x, výrobce v názvu použije × (znak násobení) a jiný dodavatel *. Někdo mezi čísla dá mezeru, jiný ne, případně je tam nezlomná mezera. Pro člověka jde o varianty jednoho zápisu, ale pro vyhledávací engine jsou to různé řetězce, které se rozpadnou jinak. Shoda mezi dotazem a produktem tak nemá kde vzniknout.

Pořadí čísel rozhoduje o nalezení. Z pohledu zákazníka na pořadí nezáleží, protože 140x200 a 200x140 je pro něj stále stejný rozměr. Pokud ale vyhledávač porovnává jednotlivé prvky přesně podle pořadí, produkt s obráceným zápisem prostě nenajde. Ne že by byl níž, ve výsledcích chybí úplně.

Zápis s mezerami míchá do výsledků nesmysly. Když zákazník napíše 140 x 200, vyhledávač text rozseká na tři samostatné tokeny. Pokud má nastavené volnější pravidlo shody (například „stačí, když vyhovuje část dotazu“), začne zobrazovat i produkty shodující se jen v jednom z nich. Odtud pochází zmíněných 207 výsledků; nejde o lepší výsledky, ale o zaplavenou výsledkovou sadu, ve které se správný produkt utopí.

Vyřešit tento problém neznamená přidat jedno jednoduché pravidlo. Vyžaduje to oddělit technické zápisy od běžné řeči a zpracovat je tak, aby vyhledávač chápal jejich strukturu, nikoli jen jednotlivé znaky.

Proč to málokoho trápí

Tento stav totiž není nikde vidět. Není to výjimka v logu ani chyba 5xx; index je zelený, produkt v katalogu i na skladě nechybí a cena sedí.

Reporty nulových výsledků zachytí jen nejhrubší polovinu problému, tedy dotazy, které nevrátily nic. Nezachytí druhý a četnější případ, kdy dotaz vrátil dvě stě položek, ale konverze je nulová, protože hledaný produkt zapadl na páté straně pod jinými velikostmi. Ve statistice je to přitom vedené jako úspěšně obsloužený dotaz.

Protože jde o takzvaný „long tail“ konkrétních zápisů, žádný jednotlivý dotaz nemá objem, který by si vynutil pozornost. Až v součtu jde o jednu z nejhodnotnějších skupin poptávky vůbec. Zákazník zadávající přesné označení totiž přesně ví, co chce, a je nejblíž objednávce.

Napříč obory se tento vzorec objevuje všude, kde název produktu obsahuje atypické znaky a kódy:

  • Nábytek a matrace: rozměry a formáty (140x200)
  • Auto-moto: typová označení a rozteče (5x112, 205/55 R16)
  • Nářadí a elektro: kódy řad, průměry a kompatibilita (SDS-plus, 20V, 125mm)
  • Zdraví a kosmetika: síly balení a objemy (500mg, 2x50ml)
  • Technika: modelová a produktová označení (MGB-450)

Kde se to dá pokazit při opravě

Tenhle typ zásahu má nepříjemnou vlastnost: sahá do základu analýzy, kterou používají i všechny ostatní dotazy na e-shopu. Je snadné upravit vyhledávání tak, aby skvěle našlo rozměr, a přitom nenápadně rozbít běžné hledání v přirozeném jazyce (tedy naprostou většinu provozu). A protože k rozbití dojde jen mírně a u části dotazů, průměrné metriky to ani nezachytí.

Proto jsme si v Search Ready pro tento typ dotazů postavili vlastní evaluační sadu. Měříme odděleně dvě skupiny, kterými jsou cílené dotazy s technickým zápisem a běžné dotazy přirozeným jazykem. Sada je schválně "nastražená" a obsahuje stejný model v jiné velikosti, sdílený kód napříč kategoriemi nebo čísla, která rozměrem nejsou. Bez těchto pastí by změna vypadala lépe, než ve skutečnosti je.

Z měření vyplynuly dvě věci stojící za zobecnění:

Neladit jen na dotazech, kvůli kterým to děláte. Na cílených rozměrových dotazech byla část parametrů v širokém rozsahu nastavení zdánlivě neutrální. Kdo by ladil jen na nich, dojde k závěru, že na nastavení vyhledávače nezáleží. Rozdíl se ukáže až na běžných dotazech, kterých se změna dotkne nepřímo.

Neladit na průměru. Nastavení s nejvyšším průměrným skóre mělo dvanáctinásobek vážných regresí (zhoršení) oproti konzervativnější variantě. Průměr totiž měří něco jiného, než na čem záleží. Sledovat je potřeba počet zhoršených dotazů a hloubku jejich zhoršení, nikoliv agregovaná čísla.

Co to udělalo v praxi

Pro přesné měření kvality výsledků používáme metriku nDCG (Normalized Discounted Cumulative Gain). V lidské řeči měří dvě věci najednou: zda vyhledávač našel správné produkty a zda je dal na první místa. Skóre 1,0 znamená dokonalé pořadí, zatímco nízké číslo říká, že zákazník musí scrolovat nebo se prosekávat irelevantním zbožím.

Na cílené sadě rozměrových dotazů se nám nDCG posunulo z 0,623 na 0,931.

Zajímavější je ale druhá skupina. Na sadě necelých 500 běžných českých dotazů přirozeným jazykem zmizely všechny dotazy, které dosud vracely nula výsledků. Přes sto dotazů se výrazně zlepšilo a u zbytku provozu nedošlo k žádné viditelné regresi.

Že rozměrové dotazy začaly fungovat, byl očekávaný výsledek. Vedlejším efektem však bylo uzdravení části běžných dotazů, které s rozměry zdánlivě nesouvisely. Byla to dobrá připomínka, že "okrajová" třída dotazů bývá symptomem něčeho, co degraduje výsledky plošně.

Co si z toho odnést

Pokud provozujete vyhledávání nad katalogem s technickými zápisy v názvech, stojí za to udělat jednoduchý test:

Vezměte 10 takových dotazů, napište každý ve 3 přirozených variantách (spojeně, s mezerou, s odlišným znakem) a porovnejte výsledkové sady.

Nemusí se shodovat úplně. Pokud se ale liší řádově v počtu výsledků nebo ve složení první desítky, dochází k tichému úniku poptávky přesně tam, kde je zákazník nejblíž nákupu.

Chcete vědět, jak velký je tento problém konkrétně u vás? Ozvěte se nám. Rádi se na vaše vyhledávání podíváme a ukážeme vám, kolik zákazníků dnes odchází kvůli špatně zpracovaným rozměrům a kódům.

Chcete si Search Ready vyzkoušet?

Kontaktujte nás a my se vám co nejdříve ozveme. Pobavíme se o vašich potřebách a zjistíme, zda je pro vás Search Ready vhodné řešení.

Nechte nám na sebe kontakt

Odesláním tohoto formuláře souhlasíte se zpracováním osobních údajů za účelem odborné a profesní komunikace navazující na zaslané údaje, nebo pozvání na osobní schůzku. Osobní údaje slouží výhradně pro potřebu SEARCH READY.

Děkujeme za vyplnění formuláře. Ozveme se vám co nejdříve.
Odeslání formuláře se nepovedlo. Zkuste to prosím znovu nebo nás
kontaktujte na emailu info@searchready.cz. Děkujeme.