Begrijpen van de Voorrang van Query-Operatoren in de EloView 4 Query Engine
Onze query-engine volgt standaard regels voor operatorvoorrang bij het verwerken van voorwaarden. Operatoren worden altijd in de volgende volgorde geëvalueerd:
- Haakjes
- NIET
- EN
- OF
Dit betekent dat wanneer een query zowel EN als OF bevat zonder haakjes, het systeem altijd alle EN voorwaarden zal evalueren voordat het enige OF voorwaarden toepast.
Voorbeeld: Hoe Operatorvoorrang uw Query Beïnvloedt
Oorspronkelijke Query
name:"POS" and name:"Y052016" or name:"Y052051" or name:"Y300084" or name:"Y351040"Hoe de Engine het Interpreteert
Aangezien EN voorafgaat aan OF, wordt de query behandeld als:
(name:"POS" and name:"Y052016") or name:"Y052051" or name:"Y300084" or name:"Y351040"Resultaat
Dit zal teruggeven:
- Items die zowel POS als Y052016 bevatten, of
- Alle items die overeenkomen met Y052051, Y300084, of Y351040 — zelfs als ze geen POS bevatten.
Hoe de Bedoelde Resultaten te Verkrijgen
Als uw doel is om POS vereist te stellen voor alle Y-waarden, moet u haakjes gebruiken om uw OF-voorwaarden te groeperen:
name:"POS" and (name:"Y052016" or name:"Y052051" or name:"Y300084" or name:"Y351040")Dit zorgt ervoor dat POS van toepassing is op alle gegroepeerde Y-waarden.
Extra Voorbeeld
Oorspronkelijke Query
name:"pos" AND name:"store1" OR name:"store2" OR name:"store3" AND name:"KDS"Geïntpreteerd door het Systeem
(name:"pos" AND name:"store1") OR name:"store2" OR (name:"store3" AND name:"KDS")Deze logica kan onverwachte resultaten opleveren omdat de OF voorwaarden niet goed zijn gegroepeerd.
Bedoeld Gedrag
Als u resultaten wilt vinden die:
- POS bevatten in de naam
- Een van de volgende bevatten: Store1, Store2, of Store3
- Ook KDS bevatten
Moet u de query als volgt schrijven:
name:"pos" AND (name:"store1" OR name:"store2" OR name:"store3") AND name:"KDS"Beste Praktijk
Bij het combineren van EN en OF:
- Gebruik altijd haakjes om uw voorwaarden te groeperen.
- Dit zorgt ervoor dat uw bedoelde logica duidelijk is en voorkomt onverwachte resultaten.
- ⚠️ Bepaalde bestaande filters werken mogelijk niet onder de nieuwe logica en moeten opnieuw worden aangemaakt.
Door termen expliciet te groeperen, zullen uw queries consistent gedrag vertonen en elke keer nauwkeurige resultaten opleveren.
Please report any broken links by emailing support@elotouch.com and include a link to the knowledge article