The MatchBoolean search mode implements Boolean search, which enables users to specify complex expressions that describe the exact search criteria with which they would like to search.
Oracle Commerce search operations use the MatchAll mode by default, which results in conjunctive searches. However, users often want more precise control over their exact search query.
For example, there is no way to formulate the query that expresses the
request:
"Show me all records that match either red or blue and also
match the word car."
For example, the query (red
OR
blue
) AND
car
would express the request described above. The
OR in this query is a disjunctive operator and results in a hit on all records
that match either
red
or
blue
. This set is then intersected with the set of
results for the word car and the result of that operation is returned from the
MDEX Engine.
Unlike the MatchAll and MatchAny modes, Boolean search also lets users specify negation in their queries.
For example, the query
camcorder AND NOT digital
will search for all
Oracle Commerce records that have the word
camcorder
and will then remove all records that
have the word
digital
from that set before returning the result.
The set of Boolean operators implemented by the MDEX Engine are:
In addition, you can use parentheses to create sub-expressions such as:
red AND NOT (blue OR green)
As with other search query modes, you can run Boolean search queries against search interfaces also; however, they may only be run against a single search interface.
Finally, the colon (:
) character is a key restrict
operator that you can use to limit a search to a single property or dimension
regardless of whether or not these properties or dimensions are included in the
same search interface.