Full text queries

edit

The high-level full text queries are usually used for running full text queries on full text fields like the body of an email. They understand how the field being queried is analyzed and will apply each field’s analyzer (or search_analyzer) to the query string before executing. The node setting named indices.query.bool.max_clause_count (defaults to 1024) is applied to boolean queries in order to limit the number of terms per query. It is also possible to limit the expansion of phrase queries with the JVM option -Des.query.apply_graph_phrase_limit=true, when activated the indices.query.bool.max_clause_count is applied to phrase queries expansions. Elasticsearch will stop observing this system property in 6x.

The queries in this group are:

match query
The standard query for performing full text queries, including fuzzy matching and phrase or proximity queries.
match_phrase query
Like the match query but used for matching exact phrases or word proximity matches.
match_phrase_prefix query
The poor man’s search-as-you-type. Like the match_phrase query, but does a wildcard search on the final word.
multi_match query
The multi-field version of the match query.
common_terms query
A more specialized query which gives more preference to uncommon words.
query_string query
Supports the compact Lucene query string syntax, allowing you to specify AND|OR|NOT conditions and multi-field search within a single query string. For expert users only.
simple_query_string
A simpler, more robust version of the query_string syntax suitable for exposing directly to users.

These queries