anchor.diff:  
   `pre_filter` and `post_filter` can also be used to inject synonyms after
   candidates are generated. For instance for the query `captain usq` we
  -might generate a candidate `usa` for term `usq` which is a synonym for
  -`america` which allows to present `captain america` to the user if this
  +might generate a candidate `usa` for the term `usq`, which is a synonym for
  +`america`. This allows us to present `captain america` to the user if this
   phrase scores high enough.
  
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: `max_edits`::
      The maximum edit distance candidate suggestions can have
      in order to be considered as a suggestion. Can only be a value between 1
      and 2. Any other value results in a bad request error being thrown.
      Defaults to 2.
  
  `prefix_length`::
  