We also have an English version of this page ready for you. Do you want to switch to it? Zavřít

Dokumentace

Filter Query Language

Filter Query Language (dále pouze FQL) je dotazovací jazyk, díky kterému můžete vytvářet složitější podmínky a tím vytvářet specifické produktové výběry.
Uvnitř FQL můžete vytvářet logické vztahy, číselné i datumové rozsahy, seznamy či prohledávat text.
Pojďme si FQL představit!

Základní syntaxe v FQL

Základním kamenem FQL dotazu je podmínka.

Podmínka se skládá ze dvou částí: pole:hodnota např.: znacka:adidas. Tento jednoduchý dotaz znamená to, že název značky musí být "adidas" (na velikosti písmen nezáleží).

Pokud chceme hledat víceslovný text, tak jej stačí uzavřít do uvozovek znacka:"adidas kids".

Porovnání může být samozřejmě proti číslu cena:99 (cena se rovná 99), datumu zprodejnen:"2020-05-24 14:30:59" (produkt byl zprodejněn 24. května 2020 v 14 hodin 30 minut a 59 vteřin) nebo pravdivostní hodnotě aktivni:false (produkt nesmí být aktivní).

Jednotlivé podmínky můžete slučovat do logických celků "a zároveň" znacka:"adidas" AND cena:99 (značka produktu je "Adidas" a prodejní cena je rovna 99 Kč) či "a nebo" znacka:"adidas" OR cena:99 (značka produktu je "Adidas" nebo prodejní cena je rovna 99 Kč).

Jednotlivé podmínky můžete negovat (obrátit význam) NOT znacka:"adidas" (značka nesmí být "Adidas"). Případně lze negovat celé logické celky NOT (znacka:"adidas" AND cena:99) (značka nesmí být "Adidas" a zároveň cena nesmí být 99 Kč).

Více podmínek nad stejným polem můžete sloučit do kratšího formátu. Např. tento FQL znacka:"*adidas*" OR znacka:"*nike*" je ekvivalentní s tímto FQL znacka:("*adidas*" OR "*nike*") (značka obsahuje "Adidas" nebo "Nike").

Textové hledání

Hledání zda text obsahuje, začíná, končí atd.

Značka se rovná hodnotě "Adidas Kids": znacka:"adidas kids"

Značka začíná na "Adi": znacka:"adi*"

Značka končí na "das": znacka:"*das"

Značka obsahuje "kid": znacka:"*kid*"

Každou podmínku můžeme negovat díky operátoru NOT.

Značka se nerovná hodnotě "Adidas Kids": NOT znacka:"adidas kids"

Značka nezačíná na "Adi": NOT znacka:"adi*"

Značka nekončí na "das": NOT znacka:"*das"

Značka neobsahuje "kid": NOT znacka:"*kid*"

Numerické hledání

Hledání zda je hodnota menší, větší, rovna atd.

Cena se rovná 99: cena:99

Cena je menší než 99: cena:[* TO 99}

Cena je menší nebo rovno 99: cena:[* TO 99]

Cena je větší než 99: cena:{99 TO *]

Cena je větší nebo rovno 99: cena:[99 TO *]

Cena je větší než 29 a menší něž 99: cena:{29 TO 99}

Cena je větší než 29 a menší nebo rovna 99: cena:{29 TO 99]

Cena je větší nebo rovna 29 a menší nebo rovna 99: cena:[29 TO 99]

Každou podmínku můžeme negovat díky operátoru NOT.

Datumové hledání

Hledání zda je datum starší, novější, roven atd.

Zprodejněn dne 24. května 2020 14:30:59: zprodejnen:"2020-05-24 14:30:59"

Zprodejněn do 24. května 2020: zprodejnen:[* TO "2020-05-24 00:00:00"}

Zprodejněn do (včetně) 24. května 2020: zprodejnen:[* TO "2020-05-25 00:00:00"}

Zprodejněn od 24. května 2020: zprodejnen:{"2020-05-24 23:59:59" TO *]

Zprodejněn od (včetně) 24. května 2020: zprodejnen:["2020-05-24 00:00:00" TO *]

Zprodejněn od než 24. května 2020 do (včetně) 24. června 2020: zprodejnen:{"2020-05-24 23:59:59" TO "2020-06-25 00:00:00"}

Každou podmínku můžeme negovat díky operátoru NOT.

Seznamové hledání

Jednotlivé hodnoty uvnitř výčtu oddělujeme přes středník ";".

ID je uvnitř výčtu ABC01, ABC02, ABC03: id:("ABC01;ABC02;ABC03")

Pokud některá z hodnot našeho výčtu obsahuje středník ";", pak je potřeba tento středník escapovat. Pokud náš seznam obsahuje hodnoty např. "01;ABC", "02ABC" a "03;ABC", pak bude náš seznam v FQL vypadat takto: id:("01\;ABC;02ABC;03\;ABC")

Každou podmínku můžeme negovat díky operátoru NOT.

Regexp hledání

Hledání v hodnotě podle regulárního výrazu. Vyhledávání je prováděno s příznakem "insensitive" (nezáleží na velikosti písmen).

Značka začíná na "Adidas": znacka:"~^adidas~"

Značka končí na "Kids": znacka:"~kids$~"

Značka obsahuje pouze písmena (ASCII): znacka:"~^[a-z]+$~"

Značka obsahuje pouze písmena (UTF-8): znacka:"~^\p{L}+$~"

Značka obsahuje pouze číslice: znacka:"~^[0-9]+$~"

Každou podmínku můžeme negovat díky operátoru NOT.

Pokud jste v dokumentaci nenalezli to, co jste hledali, tak nás neváhejte kontaktovat (např. přes chatovací okno).
Rádi Vám poradíme a dokumentaci doplníme. :)