anchor.diff:      variable, which should be used in your query.  You can still specify
       your own template `params` -- the `suggestion` value will be added to the
       variables you specify. Additionally, you can specify a `prune` to control
  -    if all phrase suggestions will be returned, when set to `true` the suggestions
  +    if all phrase suggestions will be returned; when set to `true` the suggestions
       will have an additional option `collate_match`, which will be `true` if
       matching documents for the phrase was found, `false` otherwise.
       The default value for `prune` is `false`.
  
positive.code: 
  [horizontal]
  `stupid_backoff`::
      a simple backoff model that backs off to lower
      order n-gram models if the higher order count is `0` and discounts the
      lower order n-gram model by a constant factor. The default `discount` is
      `0.4`. Stupid Backoff is the default model.
  
  `laplace`::
      a smoothing model that uses an additive smoothing where a
      constant (typically `1.0` or smaller) is added to all counts to balance
      weights, The default `alpha` is `0.5`.
  
  `linear_interpolation`::
      a smoothing model that takes the weighted
      mean of the unigrams, bigrams and trigrams based on user supplied
      weights (lambdas). Linear Interpolation doesn't have any default values.
      All parameters (`trigram_lambda`, `bigram_lambda`, `unigram_lambda`)
      must be supplied.
  
negative.code:     suggestion should appear in. This can be specified as an absolute number
      or as a relative percentage of number of documents. This can improve
      quality by only suggesting high frequency terms. Defaults to 0f and is
      not enabled. If a value higher than 1 is specified, then the number
      cannot be fractional. The shard level document frequencies are used for
      this option.
  
  `max_term_freq`::
      The maximum threshold in number of documents in which a
      suggest text token can exist in order to be included. Can be a relative
      percentage number (e.g., 0.4) or an absolute number to represent document
      frequencies. If a value higher than 1 is specified, then fractional can
      not be specified. Defaults to 0.01f. This can be used to exclude high
      frequency terms -- which are usually spelled correctly -- from being spellchecked. This also improves the spellcheck
      performance. The shard level document frequencies are used for this
      option.
  
  `pre_filter`::
      A filter (analyzer) that is applied to each of the
      tokens passed to this candidate generator. This filter is applied to the
      original token before candidates are generated.
  
  `post_filter`::
      A filter (analyzer) that is applied to each of the
      generated tokens before they are passed to the actual phrase scorer.
  
  The following example shows a `phrase` suggest call with two generators:
  the first one is using a field containing ordinary indexed terms, and the
  second one uses a field that uses terms indexed with a `reverse` filter
  (tokens are index in reverse order). This is used to overcome the limitation
  of the direct generators to require a constant prefix to provide
  