Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Class AnalyzerQueryNodeProcessor

    This processor verifies if ANALYZER is defined in the QueryConfigHandler. If it is and the analyzer is not null, it looks for every FieldQueryNode that is not WildcardQueryNode, FuzzyQueryNode or IRangeQueryNode contained in the query node tree, then it applies the analyzer to that FieldQueryNode object.

    If the analyzer return only one term, the returned term is set to the FieldQueryNode and it's returned.

    If the analyzer return more than one term, a TokenizedPhraseQueryNode or MultiPhraseQueryNode is created, whether there is one or more terms at the same position, and it's returned.

    If no term is returned by the analyzer a NoTokenFoundQueryNode object is returned.
    Inheritance
    object
    QueryNodeProcessor
    AnalyzerQueryNodeProcessor
    Implements
    IQueryNodeProcessor
    Inherited Members
    QueryNodeProcessor.ProcessChildren(IQueryNode)
    QueryNodeProcessor.SetQueryConfigHandler(QueryConfigHandler)
    QueryNodeProcessor.GetQueryConfigHandler()
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Lucene.Net.QueryParsers.Flexible.Standard.Processors
    Assembly: Lucene.Net.QueryParser.dll
    Syntax
    public class AnalyzerQueryNodeProcessor : QueryNodeProcessor, IQueryNodeProcessor

    Constructors

    AnalyzerQueryNodeProcessor()

    This processor verifies if ANALYZER is defined in the QueryConfigHandler. If it is and the analyzer is not null, it looks for every FieldQueryNode that is not WildcardQueryNode, FuzzyQueryNode or IRangeQueryNode contained in the query node tree, then it applies the analyzer to that FieldQueryNode object.

    If the analyzer return only one term, the returned term is set to the FieldQueryNode and it's returned.

    If the analyzer return more than one term, a TokenizedPhraseQueryNode or MultiPhraseQueryNode is created, whether there is one or more terms at the same position, and it's returned.

    If no term is returned by the analyzer a NoTokenFoundQueryNode object is returned.
    Declaration
    public AnalyzerQueryNodeProcessor()
    See Also
    ANALYZER
    Analyzer
    TokenStream

    Methods

    PostProcessNode(IQueryNode)

    This method is invoked for every node when walking up the tree.

    Declaration
    protected override IQueryNode PostProcessNode(IQueryNode node)
    Parameters
    Type Name Description
    IQueryNode node

    node the query node to be post-processed

    Returns
    Type Description
    IQueryNode

    a query node

    Overrides
    QueryNodeProcessor.PostProcessNode(IQueryNode)
    Exceptions
    Type Condition
    QueryNodeException

    if something goes wrong during the query node processing

    See Also
    ANALYZER
    Analyzer
    TokenStream

    PreProcessNode(IQueryNode)

    This method is invoked for every node when walking down the tree.

    Declaration
    protected override IQueryNode PreProcessNode(IQueryNode node)
    Parameters
    Type Name Description
    IQueryNode node

    the query node to be pre-processed

    Returns
    Type Description
    IQueryNode

    a query node

    Overrides
    QueryNodeProcessor.PreProcessNode(IQueryNode)
    Exceptions
    Type Condition
    QueryNodeException

    if something goes wrong during the query node processing

    See Also
    ANALYZER
    Analyzer
    TokenStream

    Process(IQueryNode)

    Processes a query node tree. It may return the same or another query tree. I should never return null.

    Declaration
    public override IQueryNode Process(IQueryNode queryTree)
    Parameters
    Type Name Description
    IQueryNode queryTree

    tree root node

    Returns
    Type Description
    IQueryNode

    the processed query tree

    Overrides
    QueryNodeProcessor.Process(IQueryNode)
    See Also
    ANALYZER
    Analyzer
    TokenStream

    SetChildrenOrder(IList<IQueryNode>)

    This method is invoked for every node that has at least on child. It's invoked right before PostProcessNode(IQueryNode) is invoked.

    Declaration
    protected override IList<IQueryNode> SetChildrenOrder(IList<IQueryNode> children)
    Parameters
    Type Name Description
    IList<IQueryNode> children

    the list containing all current node's children

    Returns
    Type Description
    IList<IQueryNode>

    a new list containing all children that should be set to the current node

    Overrides
    QueryNodeProcessor.SetChildrenOrder(IList<IQueryNode>)
    Exceptions
    Type Condition
    QueryNodeException

    if something goes wrong during the query node processing

    See Also
    ANALYZER
    Analyzer
    TokenStream

    Implements

    IQueryNodeProcessor

    See Also

    ANALYZER
    Analyzer
    TokenStream
    Back to top Copyright © 2024 The Apache Software Foundation, Licensed under the Apache License, Version 2.0
    Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation.
    All other marks mentioned may be trademarks or registered trademarks of their respective owners.