anchor.diff:                  // with all the terms as sub clauses with And operator
                   // This behaviour will result in matching of both the terms in the results which may not be
                   // adjacent to each other. The adjacency case should be handled through phrase query
  -                zeroOneOrManyQuery (getTerms (flexIndexField, values.[0])) (getTermQuery flexIndexField.SchemaName) 
  -                    (getBooleanClause parameters)
  +                zeroOneOrManyQuery 
  +                <| getTerms (flexIndexField, values.[0])
  +                <| getTermQuery flexIndexField.SchemaName
  +                <| getBooleanClause parameters
   
   /// Fuzzy Query
   [<Name("fuzzy_match"); Sealed>]
  
positive.code:         member __.GetQuery(flexIndexField, values, _) = 
              // Regex query does not go through analysis phase as the analyzer would remove the
              // special character
              zeroOneOrManyQuery (values |> Seq.map (fun x -> x.ToLowerInvariant())) 
                  (getRegexpQuery flexIndexField.SchemaName) BooleanClause.Occur.MUST
  
  // ----------------------------------------------------------------------------
  // Range Queries
  
negative.code:         member __.GetQuery(flexIndexField, values, parameters) = 
              let slop = parameters |> intFromOptDict "slop" 1
              let prefixLength = parameters |> intFromOptDict "prefixlength" 0
              zeroOneOrManyQuery 
              <| getTerms (flexIndexField, values.[0])
              <| getFuzzyQuery flexIndexField.SchemaName slop prefixLength 
              <| BooleanClause.Occur.MUST
  
  /// Match all Query
  [<Name("match_all"); Sealed>]
  