﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class AndQuery
   | Apache Lucene.NET 4.8.0-beta00008 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class AndQuery
   | 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.Surround.Query.AndQuery">
  
  
  <h1 id="Lucene_Net_QueryParsers_Surround_Query_AndQuery" data-uid="Lucene.Net.QueryParsers.Surround.Query.AndQuery" class="text-break">Class AndQuery
  </h1>
  <div class="markdown level0 summary"><p>Factory for conjunctions</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.Surround.Query.SrndQuery.html">SrndQuery</a></div>
    <div class="level2"><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html">ComposedQuery</a></div>
    <div class="level3"><span class="xref">AndQuery</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_Recompose_System_Collections_Generic_IList_Lucene_Net_QueryParsers_Surround_Query_SrndQuery__">ComposedQuery.Recompose(IList&lt;SrndQuery&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_m_opName">ComposedQuery.m_opName</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_OperatorName">ComposedQuery.OperatorName</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_m_queries">ComposedQuery.m_queries</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_GetSubQueriesEnumerator">ComposedQuery.GetSubQueriesEnumerator()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_NrSubQueries">ComposedQuery.NrSubQueries</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_GetSubQuery_System_Int32_">ComposedQuery.GetSubQuery(Int32)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_IsOperatorInfix">ComposedQuery.IsOperatorInfix</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_MakeLuceneSubQueriesField_System_String_Lucene_Net_QueryParsers_Surround_Query_BasicQueryFactory_">ComposedQuery.MakeLuceneSubQueriesField(String, BasicQueryFactory)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_ToString">ComposedQuery.ToString()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_PrefixSeparator">ComposedQuery.PrefixSeparator</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_BracketOpen">ComposedQuery.BracketOpen</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_BracketClose">ComposedQuery.BracketClose</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_InfixToString_System_Text_StringBuilder_">ComposedQuery.InfixToString(StringBuilder)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_PrefixToString_System_Text_StringBuilder_">ComposedQuery.PrefixToString(StringBuilder)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html#Lucene_Net_QueryParsers_Surround_Query_ComposedQuery_IsFieldsSubQueryAcceptable">ComposedQuery.IsFieldsSubQueryAcceptable</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndQuery.html#Lucene_Net_QueryParsers_Surround_Query_SrndQuery_IsWeighted">SrndQuery.IsWeighted</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndQuery.html#Lucene_Net_QueryParsers_Surround_Query_SrndQuery_Weight">SrndQuery.Weight</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndQuery.html#Lucene_Net_QueryParsers_Surround_Query_SrndQuery_WeightString">SrndQuery.WeightString</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndQuery.html#Lucene_Net_QueryParsers_Surround_Query_SrndQuery_WeightOperator">SrndQuery.WeightOperator</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndQuery.html#Lucene_Net_QueryParsers_Surround_Query_SrndQuery_WeightToString_System_Text_StringBuilder_">SrndQuery.WeightToString(StringBuilder)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndQuery.html#Lucene_Net_QueryParsers_Surround_Query_SrndQuery_MakeLuceneQueryField_System_String_Lucene_Net_QueryParsers_Surround_Query_BasicQueryFactory_">SrndQuery.MakeLuceneQueryField(String, BasicQueryFactory)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndQuery.html#Lucene_Net_QueryParsers_Surround_Query_SrndQuery_Clone">SrndQuery.Clone()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndQuery.html#Lucene_Net_QueryParsers_Surround_Query_SrndQuery_GetHashCode">SrndQuery.GetHashCode()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndQuery.html#Lucene_Net_QueryParsers_Surround_Query_SrndQuery_Equals_System_Object_">SrndQuery.Equals(Object)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndQuery.html#Lucene_Net_QueryParsers_Surround_Query_SrndQuery_TheEmptyLcnQuery">SrndQuery.TheEmptyLcnQuery</a>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</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>
  <h6><strong>Namespace</strong>: <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.html">Lucene.Net.QueryParsers.Surround.Query</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.QueryParser.dll</h6>
  <h5 id="Lucene_Net_QueryParsers_Surround_Query_AndQuery_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class AndQuery : ComposedQuery</code></pre>
  </div>
  <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-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_QueryParsers_Surround_Query_AndQuery__ctor_System_Collections_Generic_IList_Lucene_Net_QueryParsers_Surround_Query_SrndQuery__System_Boolean_System_String_.md&amp;value=---%0Auid%3A%20Lucene.Net.QueryParsers.Surround.Query.AndQuery.%23ctor(System.Collections.Generic.IList%7BLucene.Net.QueryParsers.Surround.Query.SrndQuery%7D%2CSystem.Boolean%2CSystem.String)%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/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.QueryParser/Surround/Query/AndQuery.cs/#L28">View Source</a>
  </span>
  <a id="Lucene_Net_QueryParsers_Surround_Query_AndQuery__ctor_" data-uid="Lucene.Net.QueryParsers.Surround.Query.AndQuery.#ctor*"></a>
  <h4 id="Lucene_Net_QueryParsers_Surround_Query_AndQuery__ctor_System_Collections_Generic_IList_Lucene_Net_QueryParsers_Surround_Query_SrndQuery__System_Boolean_System_String_" data-uid="Lucene.Net.QueryParsers.Surround.Query.AndQuery.#ctor(System.Collections.Generic.IList{Lucene.Net.QueryParsers.Surround.Query.SrndQuery},System.Boolean,System.String)">AndQuery(IList&lt;SrndQuery&gt;, Boolean, String)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public AndQuery(IList&lt;SrndQuery&gt; queries, bool inf, string opName)</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.Collections.Generic.IList</span>&lt;<a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndQuery.html">SrndQuery</a>&gt;</td>
        <td><span class="parametername">queries</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">inf</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">opName</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <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-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_QueryParsers_Surround_Query_AndQuery_MakeLuceneQueryFieldNoBoost_System_String_Lucene_Net_QueryParsers_Surround_Query_BasicQueryFactory_.md&amp;value=---%0Auid%3A%20Lucene.Net.QueryParsers.Surround.Query.AndQuery.MakeLuceneQueryFieldNoBoost(System.String%2CLucene.Net.QueryParsers.Surround.Query.BasicQueryFactory)%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/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.QueryParser/Surround/Query/AndQuery.cs/#L33">View Source</a>
  </span>
  <a id="Lucene_Net_QueryParsers_Surround_Query_AndQuery_MakeLuceneQueryFieldNoBoost_" data-uid="Lucene.Net.QueryParsers.Surround.Query.AndQuery.MakeLuceneQueryFieldNoBoost*"></a>
  <h4 id="Lucene_Net_QueryParsers_Surround_Query_AndQuery_MakeLuceneQueryFieldNoBoost_System_String_Lucene_Net_QueryParsers_Surround_Query_BasicQueryFactory_" data-uid="Lucene.Net.QueryParsers.Surround.Query.AndQuery.MakeLuceneQueryFieldNoBoost(System.String,Lucene.Net.QueryParsers.Surround.Query.BasicQueryFactory)">MakeLuceneQueryFieldNoBoost(String, BasicQueryFactory)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override Query MakeLuceneQueryFieldNoBoost(string fieldName, BasicQueryFactory qf)</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></td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.BasicQueryFactory.html">BasicQueryFactory</a></td>
        <td><span class="parametername">qf</span></td>
        <td></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><a class="xref" href="../Lucene.Net/Lucene.Net.Search.Query.html">Query</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndQuery.html#Lucene_Net_QueryParsers_Surround_Query_SrndQuery_MakeLuceneQueryFieldNoBoost_System_String_Lucene_Net_QueryParsers_Surround_Query_BasicQueryFactory_">SrndQuery.MakeLuceneQueryFieldNoBoost(String, BasicQueryFactory)</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-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_QueryParsers_Surround_Query_AndQuery.md&amp;value=---%0Auid%3A%20Lucene.Net.QueryParsers.Surround.Query.AndQuery%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/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.QueryParser/Surround/Query/AndQuery.cs/#L26" 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 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>
