Čo to je?
Poznámka správcu: Táto príručka vysvetľuje, ako vykonávať hlbšie a zložitejšie vyhľadávania, ktoré spájajú rôzne typy údajov – napríklad vyhľadávanie produktov na základe ich variantov alebo kategórií, alebo vyhľadávanie v kategóriách a ich podkategóriách.
Pre koho je to určené? Správcovia by si to mali prečítať, keď jednoduché vyhľadávania nestačia. Je to užitočné pre “pokročilých” používateľov, ktorí chcú vytvárať rozsiahle obchodné pravidlá. Vývojári budú tieto techniky používať aj na vytváranie sofistikovaných integrácií.
Kľúčové výhody pre e-shop:
- Vyhľadávanie medzi údajmi: Nájdite produkty podľa ich variantov, kategórií alebo iných súvisiacich záznamov.
- Hierarchické vyhľadávanie: Jednoducho nájdite všetky produkty v hlavnej kategórii a všetky jej podkategórie pomocou jediného pravidla.
- Správa prekladov: Identifikujte produkty, ktorým chýbajú popisy v konkrétnych jazykoch, ako je nemčina alebo francúzština.
- Integrácia systému: Použite “Externé ID” na vyhľadávanie údajov pomocou rovnakých kódov, aké používajú vaše ostatné systémy (napríklad účtovníctvo).
Rozšírené filtrovanie
Rozšírené filtrovanie vám umožňuje dosiahnuť hranice entít a vykonávať hlbokú analýzu vašich hierarchických údajov a vzťahov.
[navigate:where-basics.md|Základné filtre|filter] [navigate:where-functions.md|Funkcie a agregácia|zap]
Filtrovanie relácií
Relácie vám umožňujú filtrovať entity na základe hodnôt ich súvisiacich záznamov.
Typy relácií: ONE vs MANY
- ONE Relácia: Jeden odkaz (napr. produkt na značku). SQL používa join.
- MANY Relácia: Kolekcia záznamov (napr. produkt na varianty). SQL používa podmienku
EXISTS.
Filter podľa súvisiacej entity
supplier.name = "Acme"
[badge:Relations|secondary|right]
Hlboký prechod reláciami
Môžete prechádzať viacerými reláciami do hĺbky pomocou bodkovej notácie.
product.supplier.name = "Acme"
[badge:Relations|secondary|right]
Relácia so zátvorkami
Použite zátvorky na použitie viacerých podmienok na tú istú súvisiacu entitu.
variants[priceWithVat > 1000 and weight > 5]
[badge:Relations|secondary|right]
Relácie s dvojitými zátvorkami
Reťazové podmienky v zátvorkách pre presné hlboké filtrovanie.
variants[name like "MacBook"].supplier[name = "Acme"]
[badge:Relations|secondary|right]
Hierarchické filtrovanie podstromu
Operátor in subtree porovnáva záznamy v rámci hierarchickej štruktúry rodič-dieťa, ako je strom kategórií. Je k dispozícii iba v nastaveniach, ktoré zahŕňajú kategórie produktov.
Filtrovanie podstromu (rekurzívne)
Zahŕňa koreň a všetkých jeho potomkov.
in subtree "code:ELECTRONICS"
[badge:Hierarchical|secondary|right]
Nerekurzívny podstrom
Zodpovedá iba priamym potomkom koreňa.
in subtree "code:ELECTRONICS" nonrecursive
[badge:Hierarchical|secondary|right]
Podstrom vo vzťahu
Filtrujte produkty, ktoré majú variantu v konkrétnej vetve kategórie.
variants[in subtree "code:FASHION"]
[badge:Hierarchical|secondary|right]
Vyhľadávania a externé ID
Odkazujte na entity pomocou jedinečných kódov alebo identifikátorov z externých systémov (ako ABRA Flexi/FlexiBee).
Štandardné vyhľadávania
Použite predpony code:, ean: alebo guid:.
supplier = "code:ACME"
Ekvivalentné supplier.code = "ACME".
Vyhľadávania externých ID
Odkazujte na entity podľa ich ID v inom systéme.
supplier = "ext:SYSTEM:SUPPLIER:123"
Všetko za ext: sa považuje za externý identifikátor.
Preložiteľné polia
Dotazujte sa na viacjazyčný obsah v konkrétnych jazykoch pomocou syntaxe fieldName:langCode.
Filter špecifický pre jazyk
Podporované kódy: cs, en, de, fr, hu, pl, sk.
name:cs = "Ahoj" and name:en = "Hello" and description:de like "Produkt"
[badge:Translatable|secondary|right]
Kontroly chýbajúcich prekladov
Nájdite entity, kde chýbajú preklady.
missing "en" translation or missing any translation
[badge:Translation|secondary|right]