Using a Boolean query
Most people who use a search engine have, at some point or another, used the minus (-
) and plus (+
) syntax to include or exclude query terms. A Boolean query allows the user to programmatically define queries to include, exclude, optionally include (should
), or filter in the query.
This kind of query is one of the most important ones because it allows the user to aggregate a lot of simple queries or filters, as we will see in this chapter, to build a larger, more complex one.
There are two main concepts that are important in searches: query
and filter
. The query concept means that the matched results are scored using an internal Lucene scoring algorithm; in the filter concept, the results are matched without scoring. Because the filter doesn't need to compute the score, it is generally faster and can be cached.
Getting ready
You will need an up-and-running Elasticsearch installation, as described in the Downloading and installing Elasticsearch...