WARNING: Version 5.6 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Full text queries
editFull text queries
editThe 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:
-
matchquery - The standard query for performing full text queries, including fuzzy matching and phrase or proximity queries.
-
match_phrasequery -
Like the
matchquery but used for matching exact phrases or word proximity matches. -
match_phrase_prefixquery -
The poor man’s search-as-you-type. Like the
match_phrasequery, but does a wildcard search on the final word. -
multi_matchquery -
The multi-field version of the
matchquery. -
common_termsquery - A more specialized query which gives more preference to uncommon words.
-
query_stringquery - 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_stringsyntax suitable for exposing directly to users.
These queries