Search using flag attributes
You can have three values for the flag attribute in rich search: true, false, and unset.
If you search for a flag attribute value of not true
,
the items with the flag attribute value that equals false or unset
is returned. For example, this is a standard ternary, 3-valued system:
Data:
Flag
item1: true
item2: false
item3: NONE/UNSET
Search: Expected Results
Flag == true: item1
Flag == false: item2
Flag Is Empty: item3
Flag != true: item2, item3
Flag != false: item1, item3
Flag Is Not Empty: item1, item2
Flag
item1: true
item2: false
item3: NONE/UNSET
Search: Expected Results
Flag == true: item1
Flag == false: item2
Flag Is Empty: item3
Flag != true: item2, item3
Flag != false: item1, item3
Flag Is Not Empty: item1, item2
Another example is the following:
(Flag == true) union (Flag != true) should return all the entries; AND
(Flag == true) intersect (Flag != true) should return empty set
The same principle applies to other operators.
(Flag == true) intersect (Flag != true) should return empty set
The same principle applies to other operators.