﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class AbstractAllGroupHeadsCollector
   | Apache Lucene.NET 4.8.0-beta00013 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class AbstractAllGroupHeadsCollector
   | 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="grouping/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.Search.Grouping.AbstractAllGroupHeadsCollector">
  
  
  <h1 id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector" class="text-break">Class AbstractAllGroupHeadsCollector
  </h1>
  <div class="markdown level0 summary"><p>LUCENENET specific class used to reference an 
<a class="xref" href="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector-1.html">AbstractAllGroupHeadsCollector&lt;GH&gt;</a> subclass
without refering to its generic closing type.</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"><span class="xref">AbstractAllGroupHeadsCollector</span></div>
      <div class="level2"><a class="xref" href="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector-1.html">AbstractAllGroupHeadsCollector</a>&lt;GH&gt;</div>
  </div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><span class="xref">Lucene.Net.Search.ICollector</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <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.Search.Grouping.html">Lucene.Net.Search.Grouping</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.Grouping.dll</h6>
  <h5 id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract class AbstractAllGroupHeadsCollector : ICollector</code></pre>
  </div>
  <h3 id="properties">Properties
  </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_Search_Grouping_AbstractAllGroupHeadsCollector_AcceptsDocsOutOfOrder.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.AcceptsDocsOutOfOrder%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.Grouping/AbstractAllGroupHeadsCollector.cs/#L291">View Source</a>
  </span>
  <a id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_AcceptsDocsOutOfOrder_" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.AcceptsDocsOutOfOrder*"></a>
  <h4 id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_AcceptsDocsOutOfOrder" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.AcceptsDocsOutOfOrder">AcceptsDocsOutOfOrder</h4>
  <div class="markdown level1 summary"><p>Return <code>true</code> if this collector does not
require the matching docIDs to be delivered in int sort
order (smallest to largest) to <a class="xref" href="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.html#Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_Collect_System_Int32_">Collect(Int32)</a>.</p>
<p> Most Lucene Query implementations will visit
matching docIDs in order.  However, some queries
(currently limited to certain cases of <a class="xref" href="https://lucenenet.apache.org/docs/4.8.0-beta00013/api/core/Lucene.Net.Search.BooleanQuery.html">BooleanQuery</a>) 
can achieve faster searching if the
<span class="xref">Lucene.Net.Search.ICollector</span> allows them to deliver the
docIDs out of order.</p>

<p> Many collectors don&apos;t mind getting docIDs out of
order, so it&apos;s important to return <code>true</code>
here.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract bool AcceptsDocsOutOfOrder { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</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">System.Boolean</span></td>
        <td></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_Search_Grouping_AbstractAllGroupHeadsCollector_GroupHeadsCount.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.GroupHeadsCount%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.Grouping/AbstractAllGroupHeadsCollector.cs/#L225">View Source</a>
  </span>
  <a id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_GroupHeadsCount_" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.GroupHeadsCount*"></a>
  <h4 id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_GroupHeadsCount" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.GroupHeadsCount">GroupHeadsCount</h4>
  <div class="markdown level1 summary"><p>The number of group heads found for a query.
LUCENENET NOTE: This was groupHeadsSize() in Lucene</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract int GroupHeadsCount { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</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">System.Int32</span></td>
        <td><p>the number of group heads found for a query.</p>
</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-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_Collect_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.Collect(System.Int32)%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.Grouping/AbstractAllGroupHeadsCollector.cs/#L263">View Source</a>
  </span>
  <a id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_Collect_" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.Collect*"></a>
  <h4 id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_Collect_System_Int32_" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.Collect(System.Int32)">Collect(Int32)</h4>
  <div class="markdown level1 summary"><p>Called once for every document matching a query, with the unbased document
number.
<p>Note: The collection of the current segment can be terminated by throwing
a <a class="xref" href="https://lucenenet.apache.org/docs/4.8.0-beta00013/api/core/Lucene.Net.Search.CollectionTerminatedException.html">CollectionTerminatedException</a>. In this case, the last docs of the
current <span class="xref">Lucene.Net.Index.AtomicReaderContext</span> will be skipped and <span class="xref">Lucene.Net.Search.IndexSearcher</span>
will swallow the exception and continue collection with the next leaf.
<p>
Note: this is called in an inner search loop. For good search performance,
implementations of this method should not call <a class="xref" href="https://lucenenet.apache.org/docs/4.8.0-beta00013/api/core/Lucene.Net.Search.IndexSearcher.html#Lucene_Net_Search_IndexSearcher_Doc_System_Int32_">Doc(Int32)</a> or
<a class="xref" href="https://lucenenet.apache.org/docs/4.8.0-beta00013/api/core/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_Document_System_Int32_">Document(Int32)</a> on every hit.
Doing so can slow searches by an order of magnitude or more.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract void Collect(int doc)</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.Int32</span></td>
        <td><span class="parametername">doc</span></td>
        <td></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_Search_Grouping_AbstractAllGroupHeadsCollector_RetrieveGroupHeadAndAddIfNotExist_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.RetrieveGroupHeadAndAddIfNotExist(System.Int32)%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.Grouping/AbstractAllGroupHeadsCollector.cs/#L237">View Source</a>
  </span>
  <a id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_RetrieveGroupHeadAndAddIfNotExist_" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.RetrieveGroupHeadAndAddIfNotExist*"></a>
  <h4 id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_RetrieveGroupHeadAndAddIfNotExist_System_Int32_" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.RetrieveGroupHeadAndAddIfNotExist(System.Int32)">RetrieveGroupHeadAndAddIfNotExist(Int32)</h4>
  <div class="markdown level1 summary"><p>Returns the group head and puts it into <a class="xref" href="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector-1.TemporalResult.html">AbstractAllGroupHeadsCollector&lt;GH&gt;.TemporalResult</a>.
If the group head wasn&apos;t encountered before then it will be added to the collected group heads.
<p>
The <a class="xref" href="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector-1.TemporalResult.html#Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_1_TemporalResult_Stop">Stop</a> property will be <code>true</code> if the group head wasn&apos;t encountered before
otherwise <code>false</code>.
</p></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected abstract void RetrieveGroupHeadAndAddIfNotExist(int doc)</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.Int32</span></td>
        <td><span class="parametername">doc</span></td>
        <td><p>The document to retrieve the group head for.</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><span class="xref">System.IO.IOException</span></td>
        <td><p>If I/O related errors occur</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_Search_Grouping_AbstractAllGroupHeadsCollector_RetrieveGroupHeads.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.RetrieveGroupHeads%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.Grouping/AbstractAllGroupHeadsCollector.cs/#L218">View Source</a>
  </span>
  <a id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_RetrieveGroupHeads_" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.RetrieveGroupHeads*"></a>
  <h4 id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_RetrieveGroupHeads" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.RetrieveGroupHeads">RetrieveGroupHeads()</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 abstract int[] RetrieveGroupHeads()</code></pre>
  </div>
  <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">System.Int32</span>[]</td>
        <td><p>an int array containing all group heads. The size of the array is equal to number of collected unique groups.</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_Search_Grouping_AbstractAllGroupHeadsCollector_RetrieveGroupHeads_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.RetrieveGroupHeads(System.Int32)%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.Grouping/AbstractAllGroupHeadsCollector.cs/#L212">View Source</a>
  </span>
  <a id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_RetrieveGroupHeads_" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.RetrieveGroupHeads*"></a>
  <h4 id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_RetrieveGroupHeads_System_Int32_" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.RetrieveGroupHeads(System.Int32)">RetrieveGroupHeads(Int32)</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 abstract FixedBitSet RetrieveGroupHeads(int maxDoc)</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.Int32</span></td>
        <td><span class="parametername">maxDoc</span></td>
        <td><p>The maxDoc of the top level <a class="xref" href="https://lucenenet.apache.org/docs/4.8.0-beta00013/api/core/Lucene.Net.Index.IndexReader.html">IndexReader</a></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">Lucene.Net.Util.FixedBitSet</span></td>
        <td><p>a <span class="xref">Lucene.Net.Util.FixedBitSet</span> containing all group heads.</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_Search_Grouping_AbstractAllGroupHeadsCollector_SetNextReader_Lucene_Net_Index_AtomicReaderContext_.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.SetNextReader(Lucene.Net.Index.AtomicReaderContext)%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.Grouping/AbstractAllGroupHeadsCollector.cs/#L273">View Source</a>
  </span>
  <a id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_SetNextReader_" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.SetNextReader*"></a>
  <h4 id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_SetNextReader_Lucene_Net_Index_AtomicReaderContext_" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.SetNextReader(Lucene.Net.Index.AtomicReaderContext)">SetNextReader(AtomicReaderContext)</h4>
  <div class="markdown level1 summary"><p>Called before collecting from each <span class="xref">Lucene.Net.Index.AtomicReaderContext</span>. All doc ids in
<a class="xref" href="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.html#Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_Collect_System_Int32_">Collect(Int32)</a> will correspond to <a class="xref" href="https://lucenenet.apache.org/docs/4.8.0-beta00013/api/core/Lucene.Net.Index.IndexReaderContext.html#Lucene_Net_Index_IndexReaderContext_Reader">Reader</a>.</p>
<p>Add <a class="xref" href="https://lucenenet.apache.org/docs/4.8.0-beta00013/api/core/Lucene.Net.Index.AtomicReaderContext.html#Lucene_Net_Index_AtomicReaderContext_DocBase">DocBase</a> to the current <a class="xref" href="https://lucenenet.apache.org/docs/4.8.0-beta00013/api/core/Lucene.Net.Index.IndexReaderContext.html#Lucene_Net_Index_IndexReaderContext_Reader">Reader</a>&apos;s
internal document id to re-base ids in <a class="xref" href="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.html#Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_Collect_System_Int32_">Collect(Int32)</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract void SetNextReader(AtomicReaderContext context)</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">Lucene.Net.Index.AtomicReaderContext</span></td>
        <td><span class="parametername">context</span></td>
        <td><p>next atomic reader context </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_Search_Grouping_AbstractAllGroupHeadsCollector_SetScorer_Lucene_Net_Search_Scorer_.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.SetScorer(Lucene.Net.Search.Scorer)%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.Grouping/AbstractAllGroupHeadsCollector.cs/#L248">View Source</a>
  </span>
  <a id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_SetScorer_" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.SetScorer*"></a>
  <h4 id="Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_SetScorer_Lucene_Net_Search_Scorer_" data-uid="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.SetScorer(Lucene.Net.Search.Scorer)">SetScorer(Scorer)</h4>
  <div class="markdown level1 summary"><p>Called before successive calls to <a class="xref" href="Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.html#Lucene_Net_Search_Grouping_AbstractAllGroupHeadsCollector_Collect_System_Int32_">Collect(Int32)</a>. Implementations
that need the score of the current document (passed-in to
<also cref="M:Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector.Collect(System.Int32)"></also>), should save the passed-in <span class="xref">Lucene.Net.Search.Scorer</span> and call
scorer.Score() when needed.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract void SetScorer(Scorer scorer)</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">Lucene.Net.Search.Scorer</span></td>
        <td><span class="parametername">scorer</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="implements">Implements</h3>
  <div>
      <span class="xref">Lucene.Net.Search.ICollector</span>
  </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_Search_Grouping_AbstractAllGroupHeadsCollector.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.Grouping.AbstractAllGroupHeadsCollector%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.Grouping/AbstractAllGroupHeadsCollector.cs/#L205" 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>
