[[query-dsl-wildcard-query]]
=== Wildcard query
++++
<titleabbrev>Wildcard</titleabbrev>
++++

Returns documents that contain terms matching a wildcard pattern.

A wildcard operator is a placeholder that matches one or more characters. For
example, the `*` wildcard operator matches zero or more characters. You can
combine wildcard operators with other characters to create a wildcard pattern.

[[wildcard-query-ex-request]]
==== Example request

The following search returns documents where the `user.id` field contains a term
that begins with `ki` and ends with `y`. These matching terms can include `kiy`,
`kity`, or `kimchy`.

[source,console]
----
GET /_search
{
  "query": {
    "wildcard": {
      "user.id": {
        "value": "ki*y",
        "boost": 1.0,
        "rewrite": "constant_score"
      }
    }
  }
}
----

[[wildcard-top-level-params]]
==== Top-level parameters for `wildcard`
`<field>`::
(Required, object) Field you wish to search.

[[wildcard-query-field-params]]
==== Parameters for `<field>`
`value`::
(Required, string) Wildcard pattern for terms you wish to find in the provided
`<field>`.
+
--
This parameter supports two wildcard operators:

* `?`, which matches any single character
* `*`, which can match zero or more characters, including an empty one

WARNING: Avoid beginning patterns with `*` or `?`. This can increase
the iterations needed to find matching terms and slow search performance.
--

`boost`::
(Optional, float) Floating point number used to decrease or increase the
<<relevance-scores,relevance scores>> of a query. Defaults to `1.0`.
+
You can use the `boost` parameter to adjust relevance scores for searches
containing two or more queries.
+
Boost values are relative to the default value of `1.0`. A boost value between
`0` and `1.0` decreases the relevance score. A value greater than `1.0`
increases the relevance score.

`rewrite`::
(Optional, string) Method used to rewrite the query. For valid values and more information, see the
<<query-dsl-multi-term-rewrite, `rewrite` parameter>>.

`case_insensitive`::
(Optional, boolean) allows case insensitive matching of the
pattern with the indexed field values when set to true. Default is false which means
the case sensitivity of matching depends on the underlying field's mapping.

[[wildcard-query-notes]]
==== Notes
===== Allow expensive queries
Wildcard queries will not be executed if <<query-dsl-allow-expensive-queries, `search.allow_expensive_queries`>>
is set to false.
