Kako Shopwareova standardna pretraga zapravo radi

Zašto „handschuh“ ne pronalazi radne rukavice – i što možete podesiti

Radne rukavice na drvenom radnom stolu
ILI pretraga
  • računa se samo 8 najboljih riječi
  • dovoljan je jedan od više pojmova
  • kod jednog pojma: može izgubiti proizvode
vs.
I pretraga
  • računaju se sve odgovarajuće riječi
  • svi pojmovi moraju odgovarati
  • kod jednog pojma: često pronalazi znatno više

Na Shopware forumima stalno se ponavljaju ista pitanja: Zašto pretraga vraća proizvode koji uopće ne sadrže traženu riječ? Zašto jedno jedino „e“ odlučuje hoće li proizvod biti pronađen? I zašto I pretraga pronalazi više od ILI pretrage? Odgovori se nalaze u izvornom kodu. Detaljno smo ga pregledali i ovdje objašnjavamo što se događa: bez potrebe za znanjem programiranja, ali s dovoljno detalja da razumijete ponašanje Vaše trgovine.

Ovo vrijedi za standardnu pretragu Shopwarea 6 (temeljenu na MySQL-u, bez Elasticsearcha/OpenSearcha). Pročitali smo kod verzije 6.7.13.0 (logika je nepromijenjena do 6.7.14.1) i sve primjere u nastavku testirali u trgovini sa Shopwareom 6.7.14.1.

Primjeri su namjerno na njemačkom: problem složenica najviše pogađa njemački jezik, a njemačke trgovine najveća su Shopware publika.

Korak 1: Pri indeksiranju nastaje rječnik

Shopware ne pretražuje tekstove Vaših proizvoda pri svakom upitu. Umjesto toga, pri indeksiranju gradi rječnik ključnih riječi iz svih polja koja su pod Settings → Search (Postavke → Pretraga) označena kao pretraživa. Tekstovi se pritom rastavljaju na riječi4:

  • sve se pretvara u mala slova,
  • riječi se razdvajaju na razmacima i interpunkciji,
  • crtice, podvlake, točke, „+“ i „@“ ostaju („Montage-Feinstrickhandschuhe“ ostaje jedna riječ),
  • složenice se ne rastavljaju. Za Shopware je „Arbeitshandschuhe“ jedna jedina riječ.

Svaka riječ sprema se dvaput: jednom normalno i jednom unatrag („arbeitshandschuhe“ i „ehuhcsdnahstiebra“). Zašto, pokazuje korak 3.

Korak 2: Od pojma za pretragu nastaju uzorci

Kada kupac upiše „stuhl“, Shopware ne traži samo točno tu riječ. Generira nekoliko uzoraka sa zamjenskim znakovima, u kojima pojedina slova smiju nedostajati ili biti bilo koja. Za „stuhl“ to su, među ostalima1:

UzorakZnačenjePronalazi npr.
s__hl…s, bilo koja dva znaka, hl, zatim bilo štostahl, stuhl
stu…počinje s „stu“stuhl, stufe, stuck
stu_l…stu, bilo koji jedan znak, lstuhl

To je Shopwareov oblik tolerancije na tipfelere i objašnjava zašto „Stuhl“ pronalazi i „Stahl“. To nije „prava“ fuzzy pretraga, ali nije ni nulta tolerancija. Ista tolerancija djeluje i na kraju riječi: u našoj testnoj trgovini pretraga za „stuhl“ vratila je i proizvode s engleskom riječi „Steel“ u nazivu, jer „steel“ završava kao „stuhl“, samo s dva zamijenjena slova („st“, bilo koja dva znaka, „l“).

Dva posebna slučaja:

  • Riječi s brojkama (npr. „m12“) traže se bez zamjenskih znakova, ali na bilo kojem mjestu u riječi: „m12“ pronalazi i „din-m12“ i „m12x40“.
  • Vrlo kratke riječi (do 2 znaka) traže se samo kao početak riječi.

Korak 3: Početak ili kraj, nikad sredina

Uzorci se uspoređuju s rječnikom dvaput: s normalnim riječima i s riječima spremljenima unatrag2. Normalni uzorci pronalaze riječi koje tako počinju. Uzorci unatrag pronalaze riječi koje tako završavaju.

Ono što se nikad ne pronalazi: pojam koji se nalazi samo u sredini duže riječi. Upravo je to bio slučaj u jednoj često raspravljanoj temi na forumu:

PretragaNaziv proizvoda „Arbeitshandschuhe“ (radne rukavice)Zašto
„handschuhe“ (rukavice)✅ pronađeno„arbeitshandschuhe“ završava na „handschuhe“
„handschuh“ (rukavica)❌ nije pronađenonije ni na početku ni na kraju
„arbeit“ (rad)✅ pronađeno„arbeitshandschuhe“ počinje s „arbeit“
„strick“ (pletivo) u „Montage-Feinstrickhandschuhe“❌ nije pronađenonalazi se u sredini

U njemačkom, s mnoštvom složenica (Holzschrauben, Bürostuhl, Edelstahlspüle: vijci za drvo, uredska stolica, sudoper od nehrđajućeg čelika), ovo je najčešći razlog za „Proizvod postoji, zašto ga pretraga ne pronalazi?“.

Korak 4: Računa se samo 8 najboljih riječi

Često mnogo riječi iz rječnika odgovara uzorcima. Shopware ih tada ocjenjuje, prije svega prema tome koliko su slične pojmu pretrage (Levenshteinova udaljenost: koliko slova treba promijeniti?). „stahl“ je samo jedno slovo udaljen od „stuhl“ i zato dobiva dobru ocjenu.

Važno: za ILI pretragu Shopware zatim koristi samo 8 najbolje ocijenjenih riječi1. Ako mnogo riječi ima istu ocjenu, što se kod složenica često događa, o tome koje će biti tih 8 praktički odlučuje abecedni redoslijed. Proizvodi koji bi odgovarali tek preko devete ili desete riječi ispadaju.

I nasuprot ILI pretrazi: suprotno od očekivanog

Pod Settings → Search (Postavke → Pretraga) možete odabrati moraju li se kod više pojmova pojaviti svi (I) ili samo jedan (ILI). Očekivali biste da ILI uvijek pronalazi više. No dva se načina razlikuju i po tome koliko odgovarajućih riječi uzimaju u obzir3:

ILI pretragaI pretraga
Riječi koje se uzimaju u obzirsamo 8 najboljih ukupnosve odgovarajuće, po pojmu
Više pojmovadovoljan je jedansvi moraju odgovarati
Posljedica kod jednog pojmamože izgubiti proizvodečesto pronalazi znatno više

Jedan je trgovac na forumu izvijestio da je pretraga za „mull“ (gaza) s ILI pretragom pronašla 34 proizvoda, a s I pretragom 846. Upravo taj efekt.

Praktični savjet: ako Vaši kupci često upisuju samo jednu riječ, a imate mnogo složenih naziva proizvoda, isprobajte I pretragu.

Zašto se pojavljuju proizvodi koji ne sadrže traženu riječ

  • Nevidljiva polja: riječ se nalazi u pretraživom polju koje se u trgovini ne prikazuje, npr. u oznakama (tags), dodatnim pojmovima za pretragu, nazivima kategorija, svojstvima ili kod proizvođača.
  • Pogoci preko zamjenskih znakova: uzorak poput stu… odgovara potpuno drugoj riječi u jednom od tih polja.
  • Zastarjeli indeks: rječnik se zapisuje pri indeksiranju. Nakon promjena na proizvodima ili u konfiguraciji pretrage ponovno izgradite indeks pretrage.

Koja je riječ pronašla neki proizvod, vidite u Live searchu pod Settings → Search (Postavke → Pretraga), zajedno s bodovima rangiranja.

Što se promijenilo u 6.7.14, a što nije

  • 6.7.14.0: napomene uz izdanje navode bolje rangiranje kada se cijeli pojam pretrage pojavljuje kao fraza u proizvodu. To vrijedi samo za pretragu s Elasticsearchom/OpenSearchom, ne za standardnu pretragu5.
  • Ocjenjivanje varijanti: dosad su se bodovi svih varijanti proizvoda zbrajali, pa su proizvodi s mnogo varijanti uvijek završavali na vrhu. To je ispravljeno (pull request #19139)6 i prema Shopwareu stiže s jednom od sljedećih verzija. Mijenja redoslijed, ne i koji se proizvodi pronalaze.

Logika početka i kraja, ograničenje na 8 riječi i ponašanje I/ILI pretrage dakle ostaju.

Što možete podesiti

Bez programiranja, pod Settings → Search (Postavke → Pretraga):

  1. Pretraživa polja i bodovi rangiranja: provjerite koja se polja pretražuju. Nevidljiva polja s mnogo riječi (dugi opisi, oznake) često uzrokuju neočekivane pogotke.
  2. I/ILI pretraga: isprobajte obje s Vašim najčešćim pojmovima.
  3. Minimalna duljina pojma: kod vrijednosti 3 pojmovi poput „xl“ se ignoriraju.
  4. Isključeni pojmovi: riječi koje samo stvaraju šum.
  5. Dodatni pojmovi za pretragu po proizvodu: upišite važne dijelove riječi, npr. „handschuh“ kod „Arbeitshandschuhe“. To je najučinkovitija poluga protiv problema složenica, ali kod velikih asortimana znači mnogo održavanja.
  6. Ponovno izgradite indeks pretrage nakon svake promjene.

Uz razvoj: logika uzoraka može se prilagoditi dekoracijom servisa (service decoration). To je zahvat u tok jezgre koji treba provjeriti pri svakom ažuriranju.

Kada standardna pretraga dosegne svoje granice

Za manje asortimane s jasnim nazivima proizvoda standardna pretraga uz dobro održavanje često je dovoljna. Teško postaje kod mnogo složenica, stručnih pojmova, šifri artikala i varijanti. Tada postoje tri puta:

  • Povezati Elasticsearch/OpenSearch i sami konfigurirati analizu (npr. rastavljanje složenica, n-grame). Moćno, ali traži znanje i održavanje.
  • Sustavno održavati pojmove za pretragu, npr. putem uvoza. Pomaže, ali se loše skalira.
  • Koristiti specijaliziranu pretragu.

Ovo posljednje radimo s Eyworom: njemačke složenice rastavljaju se uz pomoć rječnika i svode na korijen riječi, pa „handschuh“ pronalazi i „Arbeitshandschuhe“. Uz to dolaze semantička pretraga za upite na jeziku kupaca i posebna obrada šifri artikala. Kada se prelazak isplati, a kada ne, iskreno smo opisali u članku Standardno pretraživanje vs. AI pretraživanje. Zašto su pretrage bez rezultata tako skupe, pročitajte u članku Problem nula rezultata.

Izvori

  1. Uzorci i ocjenjivanje: ProductSearchTermInterpreter.php (Shopware 6.7.13.0) – https://github.com/shopware/shopware/blob/v6.7.13.0/src/Core/Content/Product/SearchKeyword/ProductSearchTermInterpreter.php ↩
  2. Upit nad normalnim riječima i riječima unatrag: KeywordLoader.php (Shopware 6.7.13.0) – https://github.com/shopware/shopware/blob/v6.7.13.0/src/Core/Content/Product/SearchKeyword/KeywordLoader.php ↩
  3. I/ILI filter: ProductSearchBuilder.php (Shopware 6.7.13.0) – https://github.com/shopware/shopware/blob/v6.7.13.0/src/Core/Content/Product/SearchKeyword/ProductSearchBuilder.php ↩
  4. Rastavljanje na riječi: Tokenizer.php (Shopware 6.7.13.0) – https://github.com/shopware/shopware/blob/v6.7.13.0/src/Core/Framework/DataAbstractionLayer/Search/Term/Tokenizer.php ↩
  5. Napomene uz izdanje 6.7.14.0, odjeljak „Whole-phrase product-search matches rank higher“ – https://github.com/shopware/shopware/blob/v6.7.14.0/RELEASE_INFO-6.7.md ↩
  6. Ocjenjivanje varijanti: Pull request #19139 – https://github.com/shopware/shopware/pull/19139 ↩

Metodologija i izvori

Navedeni pokazatelji temelje se na analizi zapisa pretraživanja iz više od 50 B2B trgovina iz industrije, veleprodaje i rezervnih dijelova (Eywora projekti i prethodni projekti tvrtke signundsinn GmbH, razdoblje od 2023. do 2026.). Vrijednosti porasta konverzije prosjek su Eywora klijenata nakon najmanje 90 dana rada uživo. Vremena odziva mjerena su kao medijan P50. Rezultati u pojedinoj trgovini mogu odstupati ovisno o asortimanu, kvaliteti podataka i udjelu pretrage.

Objavljeno 1. listopada 2026. · Autor: Uredništvo Eywora

Pročitajte više

Male naušnice u obliku patke u fokusu među zamućenim naušnicama s mjesecima i zvijezdama na stalku

Praksa

Shopify je ukinuo sinonime: što sada pomaže

Od sredine rujna Shopifyjeva pretraga vraća labavo povezane proizvode, a sinonima više nema. Što se promijenilo, zašto i što pomaže bez aplikacije.

6 min čitanja

Zaslon s pločicama pokazatelja i krivuljama trenda, među njima „CTR 14,65 %" i „Quality Score 9,38" s -0,1 %

Praksa

Prije / poslije: modernizacija B2B pretraživanja u 14 dana

Industrijska web trgovina s 280.000 artikala imala je 38 % pretraga bez rezultata i 0,9 % konverzije na prometu iz pretraživanja. Dva tjedna kasnije: mjerljivo drugačije. Ovako je prijelaz protekao.

9 min čitanja

Kamera pametnog telefona snima jaknu, pokraj nje mreža vizualno sličnih slika proizvoda

AI pretraga

Slika govori više od pojma za pretraživanje

Fotografija umjesto pojma za pretraživanje: Google Lens obrađuje gotovo 20 milijardi vizualnih upita mjesečno. Što to znači za online trgovine i kako sada pripremiti slike i podatke o proizvodima.

7 min čitanja

Svi tekstovi →

Spremni vidjeti kako to izgleda kod vas?

Demo na vašem katalogu.

30 minuta uživo na stvarnoj trgovini korisnika. Vidite Eywora pretragu i dodatke na djelu, a zatim razgovaramo o vašim potrebama.