docs: def query_string(cls,
                       query,
                       default_field=None,
                       default_operator=None,
                       analyzer=None,
                       allow_leading_wildcard=None,
                       lowercase_expanded_terms=None,
                       enable_position_increments=None,
                       fuzzy_prefix_length=None,
                       fuzzy_min_sim=None,
                       phrase_slop=None,
                       boost=None,
                       analyze_wildcard=None,
                       auto_generate_phrase_queries=None,
                       minimum_should_match=None):
          '''
          http://www.elasticsearch.org/guide/reference/query-dsl/query-string-query.html
          A query that uses a query parser in order to parse its content.
  
          > query = ElasticQuery().query_string('this AND that OR thus', default_field='content')
          '''
          instance = cls(query_string={'query': query})
          if default_field is not None:
              instance['query_string']['default_field'] = default_field
          if default_operator is not None:
              instance['query_string']['default_operator'] = default_operator
          if analyzer is not None:
              instance['query_string']['analyzer'] = analyzer
          if allow_leading_wildcard is not None:
              instance['query_string']['allow_leading_wildcard'] = allow_leading_wildcard
          if lowercase_expanded_terms is not None:
              instance['query_string']['lowercase_expanded_terms'] = lowercase_expanded_terms
          if enable_position_increments is not None:
              instance['query_string']['enable_position_increments'] = enable_position_increments
          if fuzzy_prefix_length is not None:
              instance['query_string']['fuzzy_prefix_length'] = fuzzy_prefix_length
          if fuzzy_min_sim is not None:
              instance['query_string']['fuzzy_min_sim'] = fuzzy_min_sim
          if phrase_slop is not None:
              instance['query_string']['phrase_slop'] = phrase_slop
          if boost is not None:
              instance['query_string']['boost'] = boost
          if analyze_wildcard is not None:
              instance['query_string']['analyze_wildcard'] = analyze_wildcard
          if auto_generate_phrase_queries is not None:
              instance['query_string']['auto_generate_phrase_queries'] = auto_generate_phrase_queries
          if minimum_should_match is not None:
              instance['query_string']['minimum_should_match'] = minimum_should_match
          return instance