﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class QueryTreeBuilder&lt;TQuery&gt;
   | Apache Lucene.NET 4.8.0-beta00013 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class QueryTreeBuilder&lt;TQuery&gt;
   | Apache Lucene.NET 4.8.0-beta00013 Documentation ">
    <meta name="generator" content="docfx 2.56.2.0">
    
    <link rel="shortcut icon" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/logo/favicon.ico">
    <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.css">
    <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.css">
    <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.css">
    <meta property="docfx:navrel" content="toc.html">
    <meta property="docfx:tocrel" content="queryparser/toc.html">
    
    <meta property="docfx:rel" content="https://lucenenet.apache.org/docs/4.8.0-beta00009/">
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <span id="forkongithub"><a href="https://github.com/apache/lucenenet" target="_blank">Fork me on GitHub</a></span>
    <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="/">
                <img id="logo" class="svg" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/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">
            <ul class="level0 breadcrumb">
                <li>
                    <a href="https://lucenenet.apache.org/docs/4.8.0-beta00009/">API</a>
                     <span id="breadcrumb">
                        <ul class="breadcrumb">
                          <li></li>
                        </ul>
                    </span>   
                </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.Core.Builders.QueryTreeBuilder`1">
  
  
  <h1 id="Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1" data-uid="Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder`1" class="text-break">Class QueryTreeBuilder&lt;TQuery&gt;
  </h1>
  <div class="markdown level0 summary"><p>This class should be used when there is a builder for each type of node.</p>
<p><p>
The type of node may be defined in 2 different ways: - by the field name,
when the node implements the <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.IFieldableNode.html">IFieldableNode</a> interface - by its class,
it keeps checking the class and all the interfaces and classes this class
implements/extends until it finds a builder for that class/interface
</p>
<p>
This class always check if there is a builder for the field name before it
checks for the node class. So, field name builders have precedence over class
builders.
</p>
<p>
When a builder is found for a node, it&apos;s called and the node is passed to the
builder. If the returned built object is not <code>null</code>, it&apos;s tagged
on the node using the tag <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder.html#Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_QUERY_TREE_BUILDER_TAGID">QUERY_TREE_BUILDER_TAGID</a>.
</p>
<p>
The children are usually built before the parent node. However, if a builder
associated to a node is an instance of <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder-1.html">QueryTreeBuilder&lt;TQuery&gt;</a>, the node is
delegated to this builder and it&apos;s responsible to build the node and its
children.
</p>
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Builders.IQueryBuilder-1.html">IQueryBuilder&lt;TQuery&gt;</a></p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder.html">QueryTreeBuilder</a></div>
    <div class="level2"><span class="xref">QueryTreeBuilder&lt;TQuery&gt;</span></div>
      <div class="level3"><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Standard.Builders.StandardQueryTreeBuilder.html">StandardQueryTreeBuilder</a></div>
  </div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Builders.IQueryBuilder-1.html">IQueryBuilder</a>&lt;TQuery&gt;</div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder.html#Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_QUERY_TREE_BUILDER_TAGID">QueryTreeBuilder.QUERY_TREE_BUILDER_TAGID</a>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Builders.html">Lucene.Net.QueryParsers.Flexible.Core.Builders</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.QueryParser.dll</h6>
  <h5 id="Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class QueryTreeBuilder&lt;TQuery&gt; : QueryTreeBuilder, IQueryBuilder&lt;TQuery&gt;</code></pre>
  </div>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TQuery</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="constructors">Constructors
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1__ctor.md&amp;value=---%0Auid%3A%20Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder%601.%23ctor%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.QueryParser/Flexible/Core/Builders/QueryTreeBuilder.cs/#L64">View Source</a>
  </span>
  <a id="Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1__ctor_" data-uid="Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder`1.#ctor*"></a>
  <h4 id="Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1__ctor" data-uid="Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder`1.#ctor">QueryTreeBuilder()</h4>
  <div class="markdown level1 summary"><p><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder-1.html">QueryTreeBuilder&lt;TQuery&gt;</a> constructor.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public QueryTreeBuilder()</code></pre>
  </div>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1_Build_Lucene_Net_QueryParsers_Flexible_Core_Nodes_IQueryNode_.md&amp;value=---%0Auid%3A%20Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder%601.Build(Lucene.Net.QueryParsers.Flexible.Core.Nodes.IQueryNode)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.QueryParser/Flexible/Core/Builders/QueryTreeBuilder.cs/#L202">View Source</a>
  </span>
  <a id="Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1_Build_" data-uid="Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder`1.Build*"></a>
  <h4 id="Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1_Build_Lucene_Net_QueryParsers_Flexible_Core_Nodes_IQueryNode_" data-uid="Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder`1.Build(Lucene.Net.QueryParsers.Flexible.Core.Nodes.IQueryNode)">Build(IQueryNode)</h4>
  <div class="markdown level1 summary"><p>Builds some kind of object from a query tree. Each node in the query tree
is built using an specific builder associated to it.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual TQuery Build(IQueryNode queryNode)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.IQueryNode.html">IQueryNode</a></td>
        <td><span class="parametername">queryNode</span></td>
        <td><p>the query tree root node</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TQuery</span></td>
        <td><p>the built object</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.QueryNodeException.html">QueryNodeException</a></td>
        <td><p>if some node builder throws a 
<a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.QueryNodeException.html">QueryNodeException</a> or if there is a node which had no
builder associated to it</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1_SetBuilder_System_String_Lucene_Net_QueryParsers_Flexible_Core_Builders_IQueryBuilder__0__.md&amp;value=---%0Auid%3A%20Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder%601.SetBuilder(System.String%2CLucene.Net.QueryParsers.Flexible.Core.Builders.IQueryBuilder%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.QueryParser/Flexible/Core/Builders/QueryTreeBuilder.cs/#L74">View Source</a>
  </span>
  <a id="Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1_SetBuilder_" data-uid="Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder`1.SetBuilder*"></a>
  <h4 id="Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1_SetBuilder_System_String_Lucene_Net_QueryParsers_Flexible_Core_Builders_IQueryBuilder__0__" data-uid="Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder`1.SetBuilder(System.String,Lucene.Net.QueryParsers.Flexible.Core.Builders.IQueryBuilder{`0})">SetBuilder(String, IQueryBuilder&lt;TQuery&gt;)</h4>
  <div class="markdown level1 summary"><p>Associates a field name with a builder.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void SetBuilder(string fieldName, IQueryBuilder&lt;TQuery&gt; builder)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">fieldName</span></td>
        <td><p>the field name</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Builders.IQueryBuilder-1.html">IQueryBuilder</a>&lt;TQuery&gt;</td>
        <td><span class="parametername">builder</span></td>
        <td><p>the builder to be associated</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1_SetBuilder_System_Type_Lucene_Net_QueryParsers_Flexible_Core_Builders_IQueryBuilder__0__.md&amp;value=---%0Auid%3A%20Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder%601.SetBuilder(System.Type%2CLucene.Net.QueryParsers.Flexible.Core.Builders.IQueryBuilder%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.QueryParser/Flexible/Core/Builders/QueryTreeBuilder.cs/#L90">View Source</a>
  </span>
  <a id="Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1_SetBuilder_" data-uid="Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder`1.SetBuilder*"></a>
  <h4 id="Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1_SetBuilder_System_Type_Lucene_Net_QueryParsers_Flexible_Core_Builders_IQueryBuilder__0__" data-uid="Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder`1.SetBuilder(System.Type,Lucene.Net.QueryParsers.Flexible.Core.Builders.IQueryBuilder{`0})">SetBuilder(Type, IQueryBuilder&lt;TQuery&gt;)</h4>
  <div class="markdown level1 summary"><p>Associates a <span class="xref">System.Type</span> (that implements <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.IQueryNode.html">IQueryNode</a>) with a builder</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void SetBuilder(Type queryNodeClass, IQueryBuilder&lt;TQuery&gt; builder)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Type</span></td>
        <td><span class="parametername">queryNodeClass</span></td>
        <td><p>The type (a class that implements <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Nodes.IQueryNode.html">IQueryNode</a>)</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Builders.IQueryBuilder-1.html">IQueryBuilder</a>&lt;TQuery&gt;</td>
        <td><span class="parametername">builder</span></td>
        <td><p>the builder to be associated</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="implements">Implements</h3>
  <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Flexible.Core.Builders.IQueryBuilder-1.html">IQueryBuilder&lt;TQuery&gt;</a>
  </div>
</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/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_QueryParsers_Flexible_Core_Builders_QueryTreeBuilder_1.md&amp;value=---%0Auid%3A%20Lucene.Net.QueryParsers.Flexible.Core.Builders.QueryTreeBuilder%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/apache/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.QueryParser/Flexible/Core/Builders/QueryTreeBuilder.cs/#L55" class="contribution-link">View Source</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 The Apache Software Foundation, Licensed under the <a href='http://www.apache.org/licenses/LICENSE-2.0' target='_blank'>Apache License, Version 2.0</a><br> <small>Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation. <br>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</small>
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.js"></script>
    <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.js"></script>
  </body>
</html>
