﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Namespace Lucene.Net.QueryParsers.Flexible.Standard.Processors
   | Apache Lucene.NET 4.8.0-beta00008 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Namespace Lucene.Net.QueryParsers.Flexible.Standard.Processors
   | Apache Lucene.NET 4.8.0-beta00008 Documentation ">
    <meta name="generator" content="docfx 2.50.0.0">
    
    <link rel="shortcut icon" href="../../logo/favicon.ico">
    <link rel="stylesheet" href="../../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../../styles/docfx.css">
    <link rel="stylesheet" href="../../styles/main.css">
    <meta property="docfx:navrel" content="../../toc.html">
    <meta property="docfx:tocrel" content="../toc.html">
    
    <meta property="docfx:rel" content="../../">
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../../index.html">
                <img id="logo" class="svg" src="../../logo/lucene-net-color.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items">
            <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
          </div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Lucene.Net.QueryParsers.Flexible.Standard.Processors">
  
  <h1 id="Lucene_Net_QueryParsers_Flexible_Standard_Processors" data-uid="Lucene.Net.QueryParsers.Flexible.Standard.Processors" class="text-break">Namespace Lucene.Net.QueryParsers.Flexible.Standard.Processors
  </h1>
  <div class="markdown level0 summary"><!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->
<p>Lucene Query Node Processors.</p>
<h2 id="lucene-query-node-processors">Lucene Query Node Processors</h2>
<p> The package org.apache.lucene.queryparser.flexible.standard.processors contains every processor needed to assembly a pipeline that modifies the query node tree according to the actual Lucene queries. </p>
<p> These processors are already assembled correctly in the StandardQueryNodeProcessorPipeline. </p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="markdown level0 remarks"></div>
    <h3 id="classes">Classes
  </h3>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.AllowLeadingWildcardProcessor.html">AllowLeadingWildcardProcessor</a></h4>
      <section><p>This processor verifies if
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.ConfigurationKeys.html#Lucene_Net_QueryParsers_Flexible_Standard_Config_ConfigurationKeys_ALLOW_LEADING_WILDCARD">ALLOW_LEADING_WILDCARD</a> is defined in the
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Config.QueryConfigHandler.html">QueryConfigHandler</a>. If it is and leading wildcard is not allowed, it
looks for every <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.WildcardQueryNode.html">WildcardQueryNode</a> contained in the query node tree
and throws an exception if any of them has a leading wildcard (&apos;*&apos; or &apos;?&apos;).</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.AnalyzerQueryNodeProcessor.html">AnalyzerQueryNodeProcessor</a></h4>
      <section><p>This processor verifies if <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.ConfigurationKeys.html#Lucene_Net_QueryParsers_Flexible_Standard_Config_ConfigurationKeys_ANALYZER">ANALYZER</a>
is defined in the <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Config.QueryConfigHandler.html">QueryConfigHandler</a>. If it is and the analyzer is
not <code>null</code>, it looks for every <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.FieldQueryNode.html">FieldQueryNode</a> that is not
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.WildcardQueryNode.html">WildcardQueryNode</a>, <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.FuzzyQueryNode.html">FuzzyQueryNode</a> or
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.IRangeQueryNode.html">IRangeQueryNode</a> contained in the query node tree, then it applies
the analyzer to that <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.FieldQueryNode.html">FieldQueryNode</a> object.
<p>
If the analyzer return only one term, the returned term is set to the
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.FieldQueryNode.html">FieldQueryNode</a> and it&apos;s returned.
<p>
If the analyzer return more than one term, a <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.TokenizedPhraseQueryNode.html">TokenizedPhraseQueryNode</a>
or <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.MultiPhraseQueryNode.html">MultiPhraseQueryNode</a> is created, whether there is one or more
terms at the same position, and it&apos;s returned.
<p>
If no term is returned by the analyzer a <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.NoTokenFoundQueryNode.html">NoTokenFoundQueryNode</a> object
is returned.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.BooleanQuery2ModifierNodeProcessor.html">BooleanQuery2ModifierNodeProcessor</a></h4>
      <section><p>This processor is used to apply the correct <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.ModifierQueryNode.html">ModifierQueryNode</a> to
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.BooleanQueryNode.html">BooleanQueryNode</a>s children. This is a variant of
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Precedence.Processors.BooleanModifiersQueryNodeProcessor.html">BooleanModifiersQueryNodeProcessor</a> which ignores precedence.
<p>
The <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Parser.StandardSyntaxParser.html">StandardSyntaxParser</a> knows the rules of precedence, but lucene
does not. e.g. <pre><code>(A AND B OR C AND D)</code></pre> ist treated like</p>
<pre><code>(+A +B +C +D)</code></pre>.
<p><p>
This processor walks through the query node tree looking for
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.BooleanQueryNode.html">BooleanQueryNode</a>s. If an <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.AndQueryNode.html">AndQueryNode</a> is found, every child,
which is not a <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.ModifierQueryNode.html">ModifierQueryNode</a> or the <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.ModifierQueryNode.html">ModifierQueryNode</a> is
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.Modifier.html#Lucene_Net_QueryParsers_Flexible_Core_Nodes_Modifier_MOD_NONE">MOD_NONE</a>, becomes a <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.Modifier.html#Lucene_Net_QueryParsers_Flexible_Core_Nodes_Modifier_MOD_REQ">MOD_REQ</a>. For default
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.BooleanQueryNode.html">BooleanQueryNode</a>, it checks the default operator is
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.StandardQueryConfigHandler.Operator.html#Lucene_Net_QueryParsers_Flexible_Standard_Config_StandardQueryConfigHandler_Operator_AND">AND</a>, if it is, the same operation when an
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.AndQueryNode.html">AndQueryNode</a> is found is applied to it. Each <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.BooleanQueryNode.html">BooleanQueryNode</a>
which direct parent is also a <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.BooleanQueryNode.html">BooleanQueryNode</a> is removed (to ignore
the rules of precedence).</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.BooleanSingleChildOptimizationQueryNodeProcessor.html">BooleanSingleChildOptimizationQueryNodeProcessor</a></h4>
      <section><p>This processor removes every <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.BooleanQueryNode.html">BooleanQueryNode</a> that contains only one
child and returns this child. If this child is <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.ModifierQueryNode.html">ModifierQueryNode</a> that
was defined by the user. A modifier is not defined by the user when it&apos;s a
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.BooleanModifierNode.html">BooleanModifierNode</a></p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.BoostQueryNodeProcessor.html">BoostQueryNodeProcessor</a></h4>
      <section><p>This processor iterates the query node tree looking for every
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.IFieldableNode.html">IFieldableNode</a> that has <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.ConfigurationKeys.html#Lucene_Net_QueryParsers_Flexible_Standard_Config_ConfigurationKeys_BOOST">BOOST</a> in its
config. If there is, the boost is applied to that <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.IFieldableNode.html">IFieldableNode</a>.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.DefaultPhraseSlopQueryNodeProcessor.html">DefaultPhraseSlopQueryNodeProcessor</a></h4>
      <section><p>This processor verifies if <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.ConfigurationKeys.html#Lucene_Net_QueryParsers_Flexible_Standard_Config_ConfigurationKeys_PHRASE_SLOP">PHRASE_SLOP</a>
is defined in the <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Config.QueryConfigHandler.html">QueryConfigHandler</a>. If it is, it looks for every
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.TokenizedPhraseQueryNode.html">TokenizedPhraseQueryNode</a> and <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.MultiPhraseQueryNode.html">MultiPhraseQueryNode</a> that does
not have any <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.SlopQueryNode.html">SlopQueryNode</a> applied to it and creates an
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.SlopQueryNode.html">SlopQueryNode</a> and apply to it. The new <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.SlopQueryNode.html">SlopQueryNode</a> has the
same slop value defined in the configuration.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.FuzzyQueryNodeProcessor.html">FuzzyQueryNodeProcessor</a></h4>
      <section><p>This processor iterates the query node tree looking for every
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.FuzzyQueryNode.html">FuzzyQueryNode</a>, when this kind of node is found, it checks on the
query configuration for
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.ConfigurationKeys.html#Lucene_Net_QueryParsers_Flexible_Standard_Config_ConfigurationKeys_FUZZY_CONFIG">FUZZY_CONFIG</a>, gets the
fuzzy prefix length and default similarity from it and set to the fuzzy node.
For more information about fuzzy prefix length check: <a class="xref" href="../Lucene.Net/Lucene.Net.Search.FuzzyQuery.html">FuzzyQuery</a>.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.GroupQueryNodeProcessor.html">GroupQueryNodeProcessor</a></h4>
      <section><p>The <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Parser.ISyntaxParser.html">ISyntaxParser</a>
generates query node trees that consider the boolean operator precedence, but
Lucene current syntax does not support boolean precedence, so this processor
remove all the precedence and apply the equivalent modifier according to the
boolean operation defined on an specific query node.
<p>
If there is a <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.GroupQueryNode.html">GroupQueryNode</a> in the query node tree, the query node
tree is not merged with the one above it.
<p>
Example: TODO: describe a good example to show how this processor works</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.LowercaseExpandedTermsQueryNodeProcessor.html">LowercaseExpandedTermsQueryNodeProcessor</a></h4>
      <section><p>This processor verifies if 
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.ConfigurationKeys.html#Lucene_Net_QueryParsers_Flexible_Standard_Config_ConfigurationKeys_LOWERCASE_EXPANDED_TERMS">LOWERCASE_EXPANDED_TERMS</a> is defined in the
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Config.QueryConfigHandler.html">QueryConfigHandler</a>. If it is and the expanded terms should be
lower-cased, it looks for every <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.WildcardQueryNode.html">WildcardQueryNode</a>,
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.FuzzyQueryNode.html">FuzzyQueryNode</a> and children of a <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.IRangeQueryNode.html">IRangeQueryNode</a> and lower-case its
term.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.MatchAllDocsQueryNodeProcessor.html">MatchAllDocsQueryNodeProcessor</a></h4>
      <section><p>This processor converts every <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.WildcardQueryNode.html">WildcardQueryNode</a> that is &quot;<em>:</em>&quot; to
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.MatchAllDocsQueryNode.html">MatchAllDocsQueryNode</a>.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.MultiFieldQueryNodeProcessor.html">MultiFieldQueryNodeProcessor</a></h4>
      <section><p>This processor is used to expand terms so the query looks for the same term
in different fields. It also boosts a query based on its field.
<p>
This processor looks for every <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.IFieldableNode.html">IFieldableNode</a> contained in the query
node tree. If a <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.IFieldableNode.html">IFieldableNode</a> is found, it checks if there is a
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.ConfigurationKeys.html#Lucene_Net_QueryParsers_Flexible_Standard_Config_ConfigurationKeys_MULTI_FIELDS">MULTI_FIELDS</a> defined in the <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Config.QueryConfigHandler.html">QueryConfigHandler</a>. If
there is, the <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.IFieldableNode.html">IFieldableNode</a> is cloned N times and the clones are
added to a <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.BooleanQueryNode.html">BooleanQueryNode</a> together with the original node. N is
defined by the number of fields that it will be expanded to. The
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.BooleanQueryNode.html">BooleanQueryNode</a> is returned.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.MultiTermRewriteMethodProcessor.html">MultiTermRewriteMethodProcessor</a></h4>
      <section><p>This processor instates the default
<a class="xref" href="../Lucene.Net/Lucene.Net.Search.MultiTermQuery.RewriteMethod.html">MultiTermQuery.RewriteMethod</a>,
<a class="xref" href="../Lucene.Net/Lucene.Net.Search.MultiTermQuery.html#Lucene_Net_Search_MultiTermQuery_CONSTANT_SCORE_AUTO_REWRITE_DEFAULT">CONSTANT_SCORE_AUTO_REWRITE_DEFAULT</a>, for multi-term
query nodes.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.NumericQueryNodeProcessor.html">NumericQueryNodeProcessor</a></h4>
      <section><p>This processor is used to convert <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.FieldQueryNode.html">FieldQueryNode</a>s to
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.NumericRangeQueryNode.html">NumericRangeQueryNode</a>s. It looks for
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.ConfigurationKeys.html#Lucene_Net_QueryParsers_Flexible_Standard_Config_ConfigurationKeys_NUMERIC_CONFIG">NUMERIC_CONFIG</a> set in the <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Config.FieldConfig.html">FieldConfig</a> of
every <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.FieldQueryNode.html">FieldQueryNode</a> found. If
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.ConfigurationKeys.html#Lucene_Net_QueryParsers_Flexible_Standard_Config_ConfigurationKeys_NUMERIC_CONFIG">NUMERIC_CONFIG</a> is found, it considers that
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.FieldQueryNode.html">FieldQueryNode</a> to be a numeric query and convert it to
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.NumericRangeQueryNode.html">NumericRangeQueryNode</a> with upper and lower inclusive and lower and
upper equals to the value represented by the <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.FieldQueryNode.html">FieldQueryNode</a> converted
to <span class="xref">System.Object</span> representing a .NET numeric type. It means that <strong>field:1</strong> is converted to <strong>field:[1
TO 1]</strong>.
<p>
Note that <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.FieldQueryNode.html">FieldQueryNode</a>s children of a
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.IRangeQueryNode.html">IRangeQueryNode</a> are ignored.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.NumericRangeQueryNodeProcessor.html">NumericRangeQueryNodeProcessor</a></h4>
      <section><p>This processor is used to convert <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.TermRangeQueryNode.html">TermRangeQueryNode</a>s to
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.NumericRangeQueryNode.html">NumericRangeQueryNode</a>s. It looks for
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.ConfigurationKeys.html#Lucene_Net_QueryParsers_Flexible_Standard_Config_ConfigurationKeys_NUMERIC_CONFIG">NUMERIC_CONFIG</a> set in the <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Config.FieldConfig.html">FieldConfig</a> of
every <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.TermRangeQueryNode.html">TermRangeQueryNode</a> found. If
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.ConfigurationKeys.html#Lucene_Net_QueryParsers_Flexible_Standard_Config_ConfigurationKeys_NUMERIC_CONFIG">NUMERIC_CONFIG</a> is found, it considers that
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.TermRangeQueryNode.html">TermRangeQueryNode</a> to be a numeric range query and convert it to
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.NumericRangeQueryNode.html">NumericRangeQueryNode</a>.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.OpenRangeQueryNodeProcessor.html">OpenRangeQueryNodeProcessor</a></h4>
      <section><p>Processes <a class="xref" href="../Lucene.Net/Lucene.Net.Search.TermRangeQuery.html">TermRangeQuery</a>s with open ranges.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.PhraseSlopQueryNodeProcessor.html">PhraseSlopQueryNodeProcessor</a></h4>
      <section><p>This processor removes invalid <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.SlopQueryNode.html">SlopQueryNode</a> objects in the query
node tree. A <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.SlopQueryNode.html">SlopQueryNode</a> is invalid if its child is neither a
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.TokenizedPhraseQueryNode.html">TokenizedPhraseQueryNode</a> nor a <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.MultiPhraseQueryNode.html">MultiPhraseQueryNode</a>.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.RemoveEmptyNonLeafQueryNodeProcessor.html">RemoveEmptyNonLeafQueryNodeProcessor</a></h4>
      <section><p>This processor removes every <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.IQueryNode.html">IQueryNode</a> that is not a leaf and has not
children. If after processing the entire tree the root node is not a leaf and
has no children, a <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.MatchNoDocsQueryNode.html">MatchNoDocsQueryNode</a> object is returned.
<p>
This processor is used at the end of a pipeline to avoid invalid query node
tree structures like a <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.GroupQueryNode.html">GroupQueryNode</a> or <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.ModifierQueryNode.html">ModifierQueryNode</a>
with no children.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.StandardQueryNodeProcessorPipeline.html">StandardQueryNodeProcessorPipeline</a></h4>
      <section><p>This pipeline has all the processors needed to process a query node tree,
generated by <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Parser.StandardSyntaxParser.html">StandardSyntaxParser</a>, already assembled.
<p>
The order they are assembled affects the results.
<p>
This processor pipeline was designed to work with
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.StandardQueryConfigHandler.html">StandardQueryConfigHandler</a>.
<p>
The result query node tree can be used to build a <a class="xref" href="../Lucene.Net/Lucene.Net.Search.Query.html">Query</a> object using
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Builders.StandardQueryTreeBuilder.html">StandardQueryTreeBuilder</a>.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.TermRangeQueryNodeProcessor.html">TermRangeQueryNodeProcessor</a></h4>
      <section><p>This processors process <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.TermRangeQueryNode.html">TermRangeQueryNode</a>s. It reads the lower and
upper bounds value from the <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.TermRangeQueryNode.html">TermRangeQueryNode</a> object and try
to parse their values using a <code>dateFormat</code>. If the values cannot be
parsed to a date value, it will only create the <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.TermRangeQueryNode.html">TermRangeQueryNode</a>
using the non-parsed values.
<p>
If a <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.ConfigurationKeys.html#Lucene_Net_QueryParsers_Flexible_Standard_Config_ConfigurationKeys_LOCALE">LOCALE</a> is defined in the
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Config.QueryConfigHandler.html">QueryConfigHandler</a> it will be used to parse the date, otherwise
<span class="xref">System.Globalization.CultureInfo.CurrentCulture</span> will be used.
<p>
If a <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Config.ConfigurationKeys.html#Lucene_Net_QueryParsers_Flexible_Standard_Config_ConfigurationKeys_DATE_RESOLUTION">DATE_RESOLUTION</a> is defined and the
<a class="xref" href="../Lucene.Net/Lucene.Net.Documents.DateTools.Resolution.html">DateTools.Resolution</a> is not <code>null</code> it will also be used to parse the
date value.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Processors.WildcardQueryNodeProcessor.html">WildcardQueryNodeProcessor</a></h4>
      <section><p>The <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Parser.StandardSyntaxParser.html">StandardSyntaxParser</a> creates <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.PrefixWildcardQueryNode.html">PrefixWildcardQueryNode</a> nodes which
have values containing the prefixed wildcard. However, Lucene
<a class="xref" href="../Lucene.Net/Lucene.Net.Search.PrefixQuery.html">PrefixQuery</a> cannot contain the prefixed wildcard. So, this processor
basically removed the prefixed wildcard from the
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Nodes.PrefixWildcardQueryNode.html">PrefixWildcardQueryNode</a> value.</p>
</section>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/apache/lucenenet/blob/docs/4.8.0-beta00008/src/Lucene.Net.QueryParser/Flexible/Standard/Processors/package.md/#L2" class="contribution-link">Improve this Doc</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            Copyright © 2020 Licensed to the Apache Software Foundation (ASF)
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../../styles/docfx.js"></script>
    <script type="text/javascript" src="../../styles/main.js"></script>
  </body>
</html>
