Using a boolean query
Most people using a search engine have at sometime used the syntax with minus (-
) and plus (+
) to include or exclude query terms. The 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/filters that we will see in this chapter to build a big complex one.
Two main concepts are important in searches: query and filter. The query means that the matched results are scored using an internal Lucene scoring algorithm; for the filter, 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 used in the Downloading and installing Elasticsearch recipe in Chapter 2, Downloading and Setup.
To execute curl
via a command line, you need...