﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class FilteredQuery.FilterStrategy
   | Apache Lucene.NET 4.8.0-beta00013 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class FilteredQuery.FilterStrategy
   | 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="core/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.FilteredQuery.FilterStrategy">
  
  
  <h1 id="Lucene_Net_Search_FilteredQuery_FilterStrategy" data-uid="Lucene.Net.Search.FilteredQuery.FilterStrategy" class="text-break">Class FilteredQuery.FilterStrategy
  </h1>
  <div class="markdown level0 summary"><p>Abstract class that defines how the filter (<a class="xref" href="Lucene.Net.Search.DocIdSet.html">DocIdSet</a>) applied during document collection. </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">FilteredQuery.FilterStrategy</span></div>
      <div class="level2"><a class="xref" href="Lucene.Net.Search.FilteredQuery.RandomAccessFilterStrategy.html">FilteredQuery.RandomAccessFilterStrategy</a></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.html">Lucene.Net.Search</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.dll</h6>
  <h5 id="Lucene_Net_Search_FilteredQuery_FilterStrategy_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract class FilterStrategy</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_Search_FilteredQuery_FilterStrategy_FilteredBulkScorer_Lucene_Net_Index_AtomicReaderContext_Lucene_Net_Search_Weight_System_Boolean_Lucene_Net_Search_DocIdSet_.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.FilterStrategy.FilteredBulkScorer(Lucene.Net.Index.AtomicReaderContext%2CLucene.Net.Search.Weight%2CSystem.Boolean%2CLucene.Net.Search.DocIdSet)%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/Search/FilteredQuery.cs/#L542">View Source</a>
  </span>
  <a id="Lucene_Net_Search_FilteredQuery_FilterStrategy_FilteredBulkScorer_" data-uid="Lucene.Net.Search.FilteredQuery.FilterStrategy.FilteredBulkScorer*"></a>
  <h4 id="Lucene_Net_Search_FilteredQuery_FilterStrategy_FilteredBulkScorer_Lucene_Net_Index_AtomicReaderContext_Lucene_Net_Search_Weight_System_Boolean_Lucene_Net_Search_DocIdSet_" data-uid="Lucene.Net.Search.FilteredQuery.FilterStrategy.FilteredBulkScorer(Lucene.Net.Index.AtomicReaderContext,Lucene.Net.Search.Weight,System.Boolean,Lucene.Net.Search.DocIdSet)">FilteredBulkScorer(AtomicReaderContext, Weight, Boolean, DocIdSet)</h4>
  <div class="markdown level1 summary"><p>Returns a filtered <a class="xref" href="Lucene.Net.Search.BulkScorer.html">BulkScorer</a> based on this
strategy.  this is an optional method: the default
implementation just calls <a class="xref" href="Lucene.Net.Search.FilteredQuery.FilterStrategy.html#Lucene_Net_Search_FilteredQuery_FilterStrategy_FilteredScorer_Lucene_Net_Index_AtomicReaderContext_Lucene_Net_Search_Weight_Lucene_Net_Search_DocIdSet_">FilteredScorer(AtomicReaderContext, Weight, DocIdSet)</a> and
wraps that into a <a class="xref" href="Lucene.Net.Search.BulkScorer.html">BulkScorer</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual BulkScorer FilteredBulkScorer(AtomicReaderContext context, Weight weight, bool scoreDocsInOrder, DocIdSet docIdSet)</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.Index.AtomicReaderContext.html">AtomicReaderContext</a></td>
        <td><span class="parametername">context</span></td>
        <td><p>the <a class="xref" href="Lucene.Net.Index.AtomicReaderContext.html">AtomicReaderContext</a> for which to return the <a class="xref" href="Lucene.Net.Search.Scorer.html">Scorer</a>. </p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.Search.Weight.html">Weight</a></td>
        <td><span class="parametername">weight</span></td>
        <td><p>the <a class="xref" href="Lucene.Net.Search.FilteredQuery.html">FilteredQuery</a> <a class="xref" href="Lucene.Net.Search.Weight.html">Weight</a> to create the filtered scorer. </p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">scoreDocsInOrder</span></td>
        <td><p><code>true</code> to score docs in order </p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.Search.DocIdSet.html">DocIdSet</a></td>
        <td><span class="parametername">docIdSet</span></td>
        <td><p>the filter <a class="xref" href="Lucene.Net.Search.DocIdSet.html">DocIdSet</a> to apply </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><a class="xref" href="Lucene.Net.Search.BulkScorer.html">BulkScorer</a></td>
        <td><p>a filtered top scorer </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_FilteredQuery_FilterStrategy_FilteredScorer_Lucene_Net_Index_AtomicReaderContext_Lucene_Net_Search_Weight_Lucene_Net_Search_DocIdSet_.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.FilterStrategy.FilteredScorer(Lucene.Net.Index.AtomicReaderContext%2CLucene.Net.Search.Weight%2CLucene.Net.Search.DocIdSet)%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/Search/FilteredQuery.cs/#L528">View Source</a>
  </span>
  <a id="Lucene_Net_Search_FilteredQuery_FilterStrategy_FilteredScorer_" data-uid="Lucene.Net.Search.FilteredQuery.FilterStrategy.FilteredScorer*"></a>
  <h4 id="Lucene_Net_Search_FilteredQuery_FilterStrategy_FilteredScorer_Lucene_Net_Index_AtomicReaderContext_Lucene_Net_Search_Weight_Lucene_Net_Search_DocIdSet_" data-uid="Lucene.Net.Search.FilteredQuery.FilterStrategy.FilteredScorer(Lucene.Net.Index.AtomicReaderContext,Lucene.Net.Search.Weight,Lucene.Net.Search.DocIdSet)">FilteredScorer(AtomicReaderContext, Weight, DocIdSet)</h4>
  <div class="markdown level1 summary"><p>Returns a filtered <a class="xref" href="Lucene.Net.Search.Scorer.html">Scorer</a> based on this strategy.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract Scorer FilteredScorer(AtomicReaderContext context, Weight weight, DocIdSet docIdSet)</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.Index.AtomicReaderContext.html">AtomicReaderContext</a></td>
        <td><span class="parametername">context</span></td>
        <td><p>the <a class="xref" href="Lucene.Net.Index.AtomicReaderContext.html">AtomicReaderContext</a> for which to return the <a class="xref" href="Lucene.Net.Search.Scorer.html">Scorer</a>. </p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.Search.Weight.html">Weight</a></td>
        <td><span class="parametername">weight</span></td>
        <td><p>the <a class="xref" href="Lucene.Net.Search.FilteredQuery.html">FilteredQuery</a> <a class="xref" href="Lucene.Net.Search.Weight.html">Weight</a> to create the filtered scorer. </p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.Search.DocIdSet.html">DocIdSet</a></td>
        <td><span class="parametername">docIdSet</span></td>
        <td><p>the filter <a class="xref" href="Lucene.Net.Search.DocIdSet.html">DocIdSet</a> to apply </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><a class="xref" href="Lucene.Net.Search.Scorer.html">Scorer</a></td>
        <td><p>a filtered scorer</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 an <span class="xref">System.IO.IOException</span> occurs </p>
</td>
      </tr>
    </tbody>
  </table>
</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_FilteredQuery_FilterStrategy.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.FilterStrategy%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/Search/FilteredQuery.cs/#L516" 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>
