| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 | [[query-dsl-fuzzy-query]]=== Fuzzy query++++<titleabbrev>Fuzzy</titleabbrev>++++Returns documents that contain terms similar to the search term, as measured bya http://en.wikipedia.org/wiki/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": {                "value": "ki"            }        }    }}----[[fuzzy-query-ex-advanced]]===== Example using advanced parameters[source,console]----GET /_search{    "query": {        "fuzzy": {            "user": {                "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>>.
 |