Class SimpleQueryParser
  
  SimpleQueryParser is used to parse human readable query syntax.
The main idea behind this parser is that a person should be able to type
whatever they want to represent a query, and this parser will do its best
to interpret what to search for no matter how poorly composed the request
may be. Tokens are considered to be any of a term, phrase, or subquery for the
operations described below.  Whitespace including ' ' '\n' '\r' and '\t'
and certain operators may be used to delimit tokens ( ) + | " .
Any errors in query syntax will be ignored and the parser will attempt
to decipher what it can; however, this may mean odd or unexpected results.
Query Operators
- '
+' specifies AND operation: token1+token2 - '
|' specifies OR operation: token1|token2 - '
-' negates a single token: -token0 - '
"' creates phrases of terms: "term1 term2 ..." - '
' at the end of terms specifies prefix query: term - '
~N' at the end of terms specifies fuzzy query: term~1 - '
~N' at the end of phrases specifies near query: "term1 term2"~5 - '
(' and ')' specifies precedence: token1 + (token2 | token3) 
The default operator is OR if no other operator is specified.
For example, the following will OR token1 and token2 together:
token1 token2
Normal operator precedence will be simple order from right to left.
For example, the following will evaluate token1 OR token2 first,
then AND with token3:
token1 | token2 + token3
Escaping
An individual term may contain any possible character with certain characters
requiring escaping using a '</code>'.  The following characters will need to be escaped in
terms and phrases:
+ | " ( ) ' </code>
The '-' operator is a special case.  On individual terms (not phrases) the first
character of a term that is - must be escaped; however, any '-' characters
beyond the first character do not need to be escaped.
For example:
-term1   -- Specifies NOT operation against term1-term1  -- Searches for the term -term1.term-1   -- Searches for the term term-1.term-1  -- Searches for the term term-1.
The '' operator is a special case. On individual terms (not phrases) the last
character of a term that is '' must be escaped; however, any '' characters
before the last character do not need to be escaped:
term1  --  Searches for the prefix term1term1* --  Searches for the term term1term1  --  Searches for the term term1term*1 --  Searches for the term term1
Note that above examples consider the terms before text processing.
 
  
  
    Inheritance
    System.Object
    
    SimpleQueryParser
   
  
    Inherited Members
    
    
    
    
    
    
    
    
    
    
    
    
    
      System.Object.Equals(System.Object)
    
    
      System.Object.Equals(System.Object, System.Object)
    
    
      System.Object.GetHashCode()
    
    
      System.Object.GetType()
    
    
      System.Object.MemberwiseClone()
    
    
      System.Object.ReferenceEquals(System.Object, System.Object)
    
    
      System.Object.ToString()
    
   
  
  Assembly: Lucene.Net.QueryParser.dll
  Syntax
  
    public class SimpleQueryParser : QueryBuilder
   
  Constructors
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  SimpleQueryParser(Analyzer, IDictionary<String, Single>)
  Creates a new parser searching over multiple fields with different weights.
 
  
  Declaration
  
    public SimpleQueryParser(Analyzer analyzer, IDictionary<string, float> weights)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Analyzer | 
        analyzer | 
         | 
      
      
        | System.Collections.Generic.IDictionary<System.String, System.Single> | 
        weights | 
         | 
      
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  SimpleQueryParser(Analyzer, IDictionary<String, Single>, Operator)
  Creates a new parser with custom flags used to enable/disable certain features.
 
  
  Declaration
  
    public SimpleQueryParser(Analyzer analyzer, IDictionary<string, float> weights, Operator flags)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Analyzer | 
        analyzer | 
         | 
      
      
        | System.Collections.Generic.IDictionary<System.String, System.Single> | 
        weights | 
         | 
      
      
        | Operator | 
        flags | 
         | 
      
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  SimpleQueryParser(Analyzer, String)
  Creates a new parser searching over a single field.
 
  
  Declaration
  
    public SimpleQueryParser(Analyzer analyzer, string field)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Analyzer | 
        analyzer | 
         | 
      
      
        | System.String | 
        field | 
         | 
      
    
  
  Fields
  
  
    |
    Improve this Doc
  
  
    View Source
  
  m_flags
  flags to the parser (to turn features on/off)
 
  
  Declaration
  
    protected readonly Operator m_flags
   
  Field Value
  
  
    |
    Improve this Doc
  
  
    View Source
  
  m_weights
  Map of fields to query against with their weights
 
  
  Declaration
  
    protected readonly IDictionary<string, float> m_weights
   
  Field Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Collections.Generic.IDictionary<System.String, System.Single> | 
         | 
      
    
  
  Properties
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  DefaultOperator
  Gets or Sets the implicit operator setting, which will be
either SHOULD or MUST.
 
  
  Declaration
  
    public virtual Occur DefaultOperator { get; set; }
   
  Property Value
  
  Methods
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  NewDefaultQuery(String)
  Factory method to generate a standard query (no phrase or prefix operators).
 
  
  Declaration
  
    protected virtual Query NewDefaultQuery(string text)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        text | 
         | 
      
    
  
  Returns
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  NewFuzzyQuery(String, Int32)
  Factory method to generate a fuzzy query.
 
  
  Declaration
  
    protected virtual Query NewFuzzyQuery(string text, int fuzziness)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        text | 
         | 
      
      
        | System.Int32 | 
        fuzziness | 
         | 
      
    
  
  Returns
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  NewPhraseQuery(String, Int32)
  Factory method to generate a phrase query with slop.
 
  
  Declaration
  
    protected virtual Query NewPhraseQuery(string text, int slop)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        text | 
         | 
      
      
        | System.Int32 | 
        slop | 
         | 
      
    
  
  Returns
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  NewPrefixQuery(String)
  Factory method to generate a prefix query.
 
  
  Declaration
  
    protected virtual Query NewPrefixQuery(string text)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        text | 
         | 
      
    
  
  Returns
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Parse(String)
  Parses the query text and returns parsed query (or null if empty)
 
  
  Declaration
  
    public Query Parse(string queryText)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        queryText | 
         | 
      
    
  
  Returns
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Simplify(BooleanQuery)
  Helper to simplify boolean queries with 0 or 1 clause
 
  
  Declaration
  
    protected virtual Query Simplify(BooleanQuery bq)
   
  Parameters
  
  Returns