anchor.diff:  
   Mapping supports the following parameters:
   
  -`index_analyzer`:: 
  +`index_analyzer`::
       The index analyzer to use, defaults to `simple`.
   
  -`search_analyzer`:: 
  +`search_analyzer`::
       The search analyzer to use, defaults to `simple`.
       In case you are wondering why we did not opt for the `standard`
       analyzer: We try to have easy to understand behaviour here, and if you
  
positive.code: 
  The following parameters are supported:
  
  `input`:: 
      The input to store, this can be a an array of strings or just
      a string. This field is mandatory.
  
  `output`:: 
      The string to return, if a suggestion matches. This is very
      useful to normalize outputs (i.e. have them always in the format
      `artist - songname`. This is optional.
  
  `payload`:: 
      An arbitrary JSON object, which is simply returned in the
      suggest option. You could store data like the id of a document, in order
      to load it from elasticsearch without executing another search (which
      might not yield any results, if `input` and `output` differ strongly).
  
  `weight`:: 
      A positive integer, which defines a weight and allows you to
      rank your suggestions. This field is optional.
  
  
negative.code: is used as `score`. Also the `text` field uses the `output` of your
  indexed suggestion, if configured, otherwise the matched part of the
  `input` field.
  
  
  ==== Fuzzy queries
  
  The completion suggester also supports fuzzy queries - this means,
  you can actually have a typo in your search and still get results back.
  
  [source,js]
  --------------------------------------------------
  curl -X POST 'localhost:9200/music/_suggest?pretty' -d '{
      "song-suggest" : {
          "text" : "n",
          "completion" : {
              "field" : "suggest",
              "fuzzy" : {
                  "edit_distance" : 2
              }
          }
      }
  }'
  --------------------------------------------------
  
  The fuzzy query can take specific fuzzy parameters.
  The following parameters are supported:
  
  [horizontal]
  `edit_distance`::
      Maximum edit distance, defaults to `1`
  
  `transpositions`::
      Sets if transpositions should be counted
      as one or two changes, defaults to `true`
  
  `min_length`::
      Minimum length of the input before fuzzy
      suggestions are returned, defaults `3`
  
  `prefix_length`::
      Minimum length of the input, which is not
      checked for fuzzy alternatives, defaults to `1`
  
  NOTE: If you want to stick with the default values, but
        still use fuzzy, you can either use `fuzzy: {}`
        or `fuzzy: true`.
  