This chapter describes how to enable Boolean search for record
search and attribute search.
About Boolean search
The Boolean search mode implements Boolean search. It lets users specify complex expressions describing the exact search criteria for their searches.
Boolean query syntax
The complete grammar for expressing Boolean queries, in a BNF-like format, is included in this topic.
About proximity search
The proximity operators, NEAR and ONEAR, let users search for a pair of terms that must occur within a given distance from each other in a document.
Boolean query semantics
This topic discusses the meaning of AND, OR, AND NOT, and other operators allowed in Boolean search queries.
Operator precedence
The NOT operator has the highest precedence, followed by the AND operator, followed by the OR operator. You can always control the precedence by using parentheses.
Interaction of Boolean search with other features
The following table describes whether various features are supported for queries that execute a Boolean search (including the proximity operators).
Implementing Boolean search with the API
Using requests to the Conversation Web Service, you can specify a Boolean search mode for any search request that performs value or attribute search, or a search request against defined search interfaces. You can also use Boolean search in record and attribute filters. This topic includes examples of these types of requests.
Troubleshooting Boolean search
If you encounter unexpected behavior while using Boolean search, use the Dgraph -v flag when starting the data store in the Oracle Endeca Server. This flag prints detailed output to standard error describing its execution of the Boolean query.
Performance impact of Boolean search
The performance of Boolean search is a function of the number of records associated with each term in the query and also the number of terms and operators in the query.