Co to je?
Poznámka správce: Tato příručka vysvětluje, jak provádět hlubší a složitější vyhledávání, která propojují různé typy dat – například vyhledávání produktů na základě jejich variant nebo kategorií, nebo prohledávání kategorií a jejich podkategorií.
Pro koho je to určeno? Administrátoři by si to měli přečíst, když jednoduché vyhledávání nestačí. Je to užitečné pro “pokročilé” uživatele, kteří chtějí vytvářet hluboká obchodní pravidla. Vývojáři budou tyto techniky také používat k vytváření sofistikovaných integrací.
Klíčové výhody pro e-shop:
- Vyhledávání napříč daty: Najděte produkty podle jejich variant, kategorií nebo jiných souvisejících záznamů.
- Hierarchické vyhledávání: Snadno najděte všechny produkty v hlavní kategorii a všechny její podkategorie pomocí jediného pravidla.
- Správa překladů: Identifikujte produkty, kterým chybí popisy v konkrétních jazycích, jako je němčina nebo francouzština.
- Integrace systému: Použijte “Externí ID” k vyhledání dat pomocí stejných kódů, které používají vaše další systémy (jako je účetnictví).
Pokročilé filtrování
Pokročilé filtrování vám umožňuje dosáhnout napříč hranicemi entit a provádět hloubkovou analýzu vašich hierarchických dat a vztahů.
[navigate:where-basics.md|Základní filtry|filter] [navigate:where-functions.md|Funkce a agregace|zap]
Filtrování relací
Relace vám umožňují filtrovat entity na základě hodnot jejich souvisejících záznamů.
Typy relací: ONE vs MANY
- ONE Relace: Jeden odkaz (např. produkt k značce). SQL používá join.
- MANY Relace: Kolekce záznamů (např. produkt k variantám). SQL používá subpodmínku
EXISTS.
Filtrovat podle související entity
supplier.name = "Acme"
[badge:Relations|secondary|right]
Hluboký průchod relací
Můžete procházet více relací do hloubky pomocí tečkové notace.
product.supplier.name = "Acme"
[badge:Relations|secondary|right]
Relace s hranatými závorkami
Použijte hranaté závorky k aplikaci více podmínek na stejnou související entitu.
variants[priceWithVat > 1000 and weight > 5]
[badge:Relations|secondary|right]
Relace s dvojitými hranatými závorkami
Řetězte podmínky v hranatých závorkách pro přesné hloubkové filtrování.
variants[name like "MacBook"].supplier[name = "Acme"]
[badge:Relations|secondary|right]
Hierarchické filtrování podstromů
Operátor in subtree porovnává záznamy v hierarchické struktuře rodič-dítě, jako je strom kategorií. Je k dispozici pouze v nastaveních, která zahrnují kategorie produktů.
Filtrování podstromu (rekurzivní)
Zahrnuje kořen a všechny jeho potomky.
in subtree "code:ELECTRONICS"
[badge:Hierarchical|secondary|right]
Nerekurzivní podstrom
Odpovídá pouze přímým potomkům kořene.
in subtree "code:ELECTRONICS" nonrecursive
[badge:Hierarchical|secondary|right]
Podstrom v relaci
Filtrujte produkty, které mají variantu v konkrétní větvi kategorie.
variants[in subtree "code:FASHION"]
[badge:Hierarchical|secondary|right]
Vyhledávání a externí ID
Odkazujte na entity pomocí jedinečných kódů nebo identifikátorů z externích systémů (jako je ABRA Flexi/FlexiBee).
Standardní vyhledávání
Použijte předpony code:, ean: nebo guid:.
supplier = "code:ACME"
Equivalent to supplier.code = "ACME".
Vyhledávání externích ID
Odkazujte na entity podle jejich ID v jiném systému.
supplier = "ext:SYSTEM:SUPPLIER:123"
Vše za ext: je považováno za externí identifikátor.
Přeložitelné pole
Dotazujte se na vícejazyčný obsah v konkrétních jazycích pomocí syntaxe fieldName:langCode.
Filtr specifický pro 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 chybějících překladů
Najděte entity, kde chybí překlady.
missing "en" translation or missing any translation
[badge:Translation|secondary|right]