[[query-dsl-prefix-query]] === Prefix query ++++ Prefix ++++ Returns documents that contain a specific prefix in a provided field. [[prefix-query-ex-request]] ==== Example request The following search returns documents where the `user.id` field contains a term that begins with `ki`. [source,console] ---- GET /_search { "query": { "prefix": { "user.id": { "value": "ki" } } } } ---- [[prefix-query-top-level-params]] ==== Top-level parameters for `prefix` ``:: (Required, object) Field you wish to search. [[prefix-query-field-params]] ==== Parameters for `` `value`:: (Required, string) Beginning characters of terms you wish to find in the provided ``. `rewrite`:: (Optional, string) Method used to rewrite the query. For valid values and more information, see the <>. `case_insensitive`:: (Optional, boolean) allows ASCII case insensitive matching of the value with the indexed field values when set to true. Setting to false is disallowed. [[prefix-query-notes]] ==== Notes [[prefix-query-short-ex]] ===== Short request example You can simplify the `prefix` query syntax by combining the `` and `value` parameters. For example: [source,console] ---- GET /_search { "query": { "prefix" : { "user" : "ki" } } } ---- [[prefix-query-index-prefixes]] ===== Speed up prefix queries You can speed up prefix queries using the <> mapping parameter. If enabled, {es} indexes prefixes between 2 and 5 characters in a separate field. This lets {es} run prefix queries more efficiently at the cost of a larger index. [[prefix-query-allow-expensive-queries]] ===== Allow expensive queries Prefix queries will not be executed if <> is set to false. However, if <> are enabled, an optimised query is built which is not considered slow, and will be executed in spite of this setting.