| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 | [[query-dsl-fuzzy-query]]=== Fuzzy query++++<titleabbrev>Fuzzy</titleabbrev>++++Returns documents that contain terms similar to the search term, as measured bya {wikipedia}/Levenshtein_distance[Levenshtein edit distance].An edit distance is the number of one-character changes needed to turn one terminto another. These changes can include:* Changing a character (**b**ox → **f**ox)* Removing a character (**b**lack → lack)* Inserting a character (sic → sic**k**)* Transposing two adjacent characters (**ac**t → **ca**t)To find similar terms, the `fuzzy` query creates a set of all possiblevariations, or expansions, of the search term within a specified edit distance.The query then returns exact matches for each expansion.[[fuzzy-query-ex-request]]==== Example requests[[fuzzy-query-ex-simple]]===== Simple example[source,console]----GET /_search{  "query": {    "fuzzy": {      "user.id": {        "value": "ki"      }    }  }}----[[fuzzy-query-ex-advanced]]===== Example using advanced parameters[source,console]----GET /_search{  "query": {    "fuzzy": {      "user.id": {        "value": "ki",        "fuzziness": "AUTO",        "max_expansions": 50,        "prefix_length": 0,        "transpositions": true,        "rewrite": "constant_score"      }    }  }}----[[fuzzy-query-top-level-params]]==== Top-level parameters for `fuzzy``<field>`::(Required, object) Field you wish to search.[[fuzzy-query-field-params]]==== Parameters for `<field>``value`::(Required, string) Term you wish to find in the provided `<field>`.`fuzziness`::(Optional, string) Maximum edit distance allowed for matching. See <<fuzziness>>for valid values and more information.`max_expansions`::+--(Optional, integer) Maximum number of variations created. Defaults to `50`.WARNING: Avoid using a high value in the `max_expansions` parameter, especiallyif the `prefix_length` parameter value is `0`. High values in the`max_expansions` parameter can cause poor performance due to the high number ofvariations examined.--`prefix_length`::(Optional, integer) Number of beginning characters left unchanged when creatingexpansions. Defaults to `0`.`transpositions`::(Optional, Boolean) Indicates whether edits include transpositions of twoadjacent characters (ab → ba). Defaults to `true`.`rewrite`::(Optional, string) Method used to rewrite the query. For valid values and moreinformation, see the <<query-dsl-multi-term-rewrite, `rewrite` parameter>>.[[fuzzy-query-notes]]==== NotesFuzzy queries will not be executed if <<query-dsl-allow-expensive-queries, `search.allow_expensive_queries`>>is set to false.
 |