Show / Hide Table of Contents

    Class ComplexPhraseQueryParser

    QueryParser which permits complex phrase query syntax eg "(john jon jonathan~) peters*".

    Performs potentially multiple passes over Query text to parse any nested logic in PhraseQueries. - First pass takes any PhraseQuery content between quotes and stores for subsequent pass. All other query content is parsed as normal - Second pass parses any stored PhraseQuery content, checking all embedded clauses are referring to the same field and therefore can be rewritten as Span queries. All PhraseQuery clauses are expressed as ComplexPhraseQuery objects

    This could arguably be done in one pass using a new QueryParser but here I am working within the constraints of the existing parser as a base class. This currently simply feeds all phrase content through an analyzer to select phrase terms - any "special" syntax such as * ~ * etc are not given special status

    Inheritance
    System.Object
    QueryParserBase
    QueryParser
    ComplexPhraseQueryParser
    Implements
    ICommonQueryParserConfiguration
    Inherited Members
    QueryParser.Conjunction()
    QueryParser.Modifiers()
    QueryParser.TopLevelQuery(String)
    QueryParser.Query(String)
    QueryParser.Clause(String)
    QueryParser.Term(String)
    QueryParser.TokenSource
    QueryParser.Token
    QueryParser.Jj_nt
    QueryParser.ReInit(ICharStream)
    QueryParser.ReInit(QueryParserTokenManager)
    QueryParser.GetNextToken()
    QueryParser.GetToken(Int32)
    QueryParser.GenerateParseException()
    QueryParser.Enable_tracing()
    QueryParser.Disable_tracing()
    QueryParserBase.CONJ_NONE
    QueryParserBase.CONJ_AND
    QueryParserBase.CONJ_OR
    QueryParserBase.MOD_NONE
    QueryParserBase.MOD_NOT
    QueryParserBase.MOD_REQ
    QueryParserBase.AND_OPERATOR
    QueryParserBase.OR_OPERATOR
    QueryParserBase.m_field
    QueryParserBase.Init(LuceneVersion, String, Analyzer)
    QueryParserBase.Field
    QueryParserBase.AutoGeneratePhraseQueries
    QueryParserBase.FuzzyMinSim
    QueryParserBase.FuzzyPrefixLength
    QueryParserBase.PhraseSlop
    QueryParserBase.AllowLeadingWildcard
    QueryParserBase.DefaultOperator
    QueryParserBase.LowercaseExpandedTerms
    QueryParserBase.MultiTermRewriteMethod
    QueryParserBase.Locale
    QueryParserBase.TimeZone
    QueryParserBase.SetDateResolution(DateTools.Resolution)
    QueryParserBase.SetDateResolution(String, DateTools.Resolution)
    QueryParserBase.GetDateResolution(String)
    QueryParserBase.AnalyzeRangeTerms
    QueryParserBase.AddClause(IList<BooleanClause>, Int32, Int32, Query)
    QueryParserBase.GetFieldQuery(String, String, Boolean)
    QueryParserBase.NewFieldQuery(Analyzer, String, String, Boolean)
    QueryParserBase.NewBooleanClause(Query, Occur)
    QueryParserBase.NewPrefixQuery(Term)
    QueryParserBase.NewRegexpQuery(Term)
    QueryParserBase.NewFuzzyQuery(Term, Single, Int32)
    QueryParserBase.AnalyzeMultitermTerm(String, String, Analyzer)
    QueryParserBase.NewMatchAllDocsQuery()
    QueryParserBase.NewWildcardQuery(Term)
    QueryParserBase.GetBooleanQuery(IList<BooleanClause>)
    QueryParserBase.GetBooleanQuery(IList<BooleanClause>, Boolean)
    QueryParserBase.GetRegexpQuery(String, String)
    QueryParserBase.GetPrefixQuery(String, String)
    QueryParserBase.Escape(String)
    Namespace: Lucene.Net.QueryParsers.ComplexPhrase
    Assembly: Lucene.Net.QueryParser.dll
    Syntax
    public class ComplexPhraseQueryParser : QueryParser, ICommonQueryParserConfiguration

    Constructors

    | Improve this Doc View Source

    ComplexPhraseQueryParser(LuceneVersion, String, Analyzer)

    Declaration
    public ComplexPhraseQueryParser(LuceneVersion matchVersion, string f, Analyzer a)
    Parameters
    Type Name Description
    LuceneVersion matchVersion
    System.String f
    Analyzer a

    Properties

    | Improve this Doc View Source

    InOrder

    When InOrder is true, the search terms must exists in the documents as the same order as in query. Choose between ordered (true) or un-ordered (false) proximity search.

    Declaration
    public virtual bool InOrder { get; }
    Property Value
    Type Description
    System.Boolean

    Methods

    | Improve this Doc View Source

    GetFieldQuery(String, String, Int32)

    Declaration
    protected override Query GetFieldQuery(string field, string queryText, int slop)
    Parameters
    Type Name Description
    System.String field
    System.String queryText
    System.Int32 slop
    Returns
    Type Description
    Query
    Overrides
    QueryParserBase.GetFieldQuery(String, String, Int32)
    | Improve this Doc View Source

    GetFuzzyQuery(String, String, Single)

    Declaration
    protected override Query GetFuzzyQuery(string field, string termStr, float minSimilarity)
    Parameters
    Type Name Description
    System.String field
    System.String termStr
    System.Single minSimilarity
    Returns
    Type Description
    Query
    Overrides
    QueryParserBase.GetFuzzyQuery(String, String, Single)
    | Improve this Doc View Source

    GetRangeQuery(String, String, String, Boolean, Boolean)

    Declaration
    protected override Query GetRangeQuery(string field, string part1, string part2, bool startInclusive, bool endInclusive)
    Parameters
    Type Name Description
    System.String field
    System.String part1
    System.String part2
    System.Boolean startInclusive
    System.Boolean endInclusive
    Returns
    Type Description
    Query
    Overrides
    QueryParserBase.GetRangeQuery(String, String, String, Boolean, Boolean)
    | Improve this Doc View Source

    GetWildcardQuery(String, String)

    Declaration
    protected override Query GetWildcardQuery(string field, string termStr)
    Parameters
    Type Name Description
    System.String field
    System.String termStr
    Returns
    Type Description
    Query
    Overrides
    QueryParserBase.GetWildcardQuery(String, String)
    | Improve this Doc View Source

    NewRangeQuery(String, String, String, Boolean, Boolean)

    Declaration
    protected override Query NewRangeQuery(string field, string part1, string part2, bool startInclusive, bool endInclusive)
    Parameters
    Type Name Description
    System.String field
    System.String part1
    System.String part2
    System.Boolean startInclusive
    System.Boolean endInclusive
    Returns
    Type Description
    Query
    Overrides
    QueryParserBase.NewRangeQuery(String, String, String, Boolean, Boolean)
    | Improve this Doc View Source

    NewTermQuery(Term)

    Declaration
    protected override Query NewTermQuery(Term term)
    Parameters
    Type Name Description
    Term term
    Returns
    Type Description
    Query
    | Improve this Doc View Source

    Parse(String)

    Declaration
    public override Query Parse(string query)
    Parameters
    Type Name Description
    System.String query
    Returns
    Type Description
    Query
    Overrides
    QueryParserBase.Parse(String)

    Implements

    ICommonQueryParserConfiguration
    • Improve this Doc
    • View Source
    Back to top Copyright © 2020 Licensed to the Apache Software Foundation (ASF)