anchor.diff:      as an optimization to generate fewer suggestions to test on each shard and
       are not rechecked when combining the suggestions generated on each
       shard. Thus `missing` will generate suggestions for terms on shards that do
  -    not contain them even other shards do contain them. Those should be
  +    not contain them even if other shards do contain them. Those should be
       filtered out using `confidence`. Three possible values can be specified:
       ** `missing`: Only generate suggestions for terms that are not in the
                    shard. This is the default.
  
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: 
  `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 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.
  