Term-level queries

edit

You can use term-level queries to find documents based on precise values in structured data. Examples of structured data include date ranges, IP addresses, prices, or product IDs.

Unlike full-text queries, term-level queries do not analyze search terms. Instead, term-level queries match the exact terms stored in a field.

Term-level queries still normalize search terms for keyword fields with the normalizer property. For more details, see normalizer.

Types of term-level queries

edit
term query
Returns documents that contain an exact term in a provided field.
terms query
Returns documents that contain one or more exact terms in a provided field.
terms_set query
Returns documents that contain a minimum number of exact terms in a provided field. You can define the minimum number of matching terms using a field or script.
range query
Returns documents that contain terms within a provided range.
exists query
Returns documents that contain any indexed value for a field.
prefix query
Returns documents that contain a specific prefix in a provided field.
wildcard query
Returns documents that contain terms matching a wildcard pattern.
regexp query
Returns documents that contain terms matching a regular expression.
fuzzy query
Returns documents that contain terms similar to the search term. Elasticsearch measures similarity, or fuzziness, using a Levenshtein edit distance.
type query
Returns documents of the specified type.
ids query
Returns documents based on their document IDs.