class_docstr: A hand-written query parser built on modular plug-ins. The default
  configuration implements a powerful fielded query language similar to
  Lucene's.
  
  You can use the ``plugins`` argument when creating the object to override
  the default list of plug-ins, and/or use ``add_plugin()`` and/or
  ``remove_plugin_class()`` to change the plug-ins included in the parser.
  
  >>> from whoosh import qparser
  >>> parser = qparser.QueryParser("content", schema)
  >>> parser.remove_plugin_class(qparser.WildcardPlugin)
  >>> parser.add_plugin(qparser.PrefixPlugin())
  >>> parser.parse(u"hello there")
  And([Term("content", u"hello"), Term("content", u"there")])
class_docstr_tok: ["A","hand-written","query","parser","built","on","modular","plug-ins",".","The","default","configuration","implements","a","powerful","fielded","query","language","similar","to","Lucene","'s",".","You","can","use","the","``","plugins","``","argument","when","creating","the","object","to","override","the","default","list","of","plug-ins",",","and\/or","use","``","add_plugin","(",")","``","and\/or","``","remove_plugin_class","(",")","``","to","change","the","plug-ins","included","in","the","parser",".",">",">",">","from","whoosh","import","qparser",">",">",">","parser","=","qparser.QueryParser","(","``","content","''",",","schema",")",">",">",">","parser.remove_plugin_class","(","qparser.WildcardPlugin",")",">",">",">","parser.add_plugin","(","qparser.PrefixPlugin","(",")",")",">",">",">","parser.parse","(","u","''","hello","there","''",")","And","(","[","Term","(","``","content","''",",","u","''","hello","''",")",",","Term","(","``","content","''",",","u","''","there","''",")","]",")"]
docstr: Parses the input string and returns a :class:`whoosh.query.Query`
  object/tree.
  
  :param text: the unicode string to parse.
  :param normalize: whether to call normalize() on the query object/tree
      before returning it. This should be left on unless you're trying to
      debug the parser output.
  :rtype: :class:`whoosh.query.Query`
docstr_tok: ["Parses","the","input","string","and","returns","a",":","class",":","`","whoosh.query.Query","`","object\/tree",".",":","param","text",":","the","unicode","string","to","parse",".",":","param","normalize",":","whether","to","call","normalize","(",")","on","the","query","object\/tree","before","returning","it",".","This","should","be","left","on","unless","you","'re","trying","to","debug","the","parser","output",".",":","rtype",":",":","class",":","`","whoosh.query.Query","`"]
code: def parse(self, text, normalize=True, debug=False):
      """Parses the input string and returns a :class:`whoosh.query.Query`
      object/tree.
  
      :param text: the unicode string to parse.
      :param normalize: whether to call normalize() on the query object/tree
          before returning it. This should be left on unless you're trying to
          debug the parser output.
      :rtype: :class:`whoosh.query.Query`
      """
  
      if not isinstance(text, text_type):
          text = text.decode("latin1")
  
      nodes = self.process(text, debug=debug)
      if debug:
          print_debug(debug, "Syntax tree: %r" % nodes)
  
      q = nodes.query(self)
      if not q:
          q = query.NullQuery
      if debug:
          print_debug(debug, "Pre-normalized query: %r" % q)
  
      if normalize:
          q = q.normalize()
          if debug:
              print_debug(debug, "Normalized query: %r" % q)
      return q
  
imports: import sys
  from whoosh import query
  from whoosh.compat import text_type
  from whoosh.qparser import syntax
  from whoosh.qparser.common import print_debug, QueryParserError
label_desc: Use image node_id 17 for calling the QueryParser obj's underlying member method code with example usage: obj.parse(text, normalize, debug) and returns: q