Record filters are specified with query-based expressions.
Record filters are specified directly within a query to the Oracle Endeca Server. The query-level syntax supports prefix-oriented Boolean functions (AND, OR, and NOT), colon-separated paths for standard attribute values, and forward-slash-separated paths for managed attribute values.
The following BNF grammar describes the syntax for query-level filter expressions:
<filter> ::= <and-expr> | <or-expr> | <not-expr> | <literal> <and-expr> ::= AND(<filter-list>) <or-expr> ::= OR(<filter-list>) <not-expr> ::= NOT(<filter>) <filter-list> ::= <filter> | <filter>,<filter-list> <literal> ::= <pval> | <dval-path> <pval> ::= <prop-key>:<prop-value> <prop-key> ::= <string> <prop-value> ::= <string> <dval-path> ::= <string> | <string>/<dval-path> <string> ::= any character string
( ) , : \ /
OR(AND(Manufacturer:Sony, Product Category/Digital Camera), AND(Manufacturer:Aiwa,NOT(Product Category/Television)), Manufacturer:Denon)
Filtering by Boolean attribute assignments is supported. You can specify the Boolean value as true (or its synonym of 1), or as false (or its synonym of 0). For example, assuming isOdd is a Boolean attribute, both isOdd:1 and isOdd:true will parse properly and yield the same results.