﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class FilteringTokenFilter
   | Apache Lucene.NET 4.8.0-beta00008 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class FilteringTokenFilter
   | 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.Analysis.Util.FilteringTokenFilter">
  
  
  <h1 id="Lucene_Net_Analysis_Util_FilteringTokenFilter" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter" class="text-break">Class FilteringTokenFilter
  </h1>
  <div class="markdown level0 summary"><p>Abstract base class for TokenFilters that may remove tokens.
You have to implement <a class="xref" href="Lucene.Net.Analysis.Util.FilteringTokenFilter.html#Lucene_Net_Analysis_Util_FilteringTokenFilter_Accept">Accept()</a> and return a boolean if the current
token should be preserved. <a class="xref" href="Lucene.Net.Analysis.Util.FilteringTokenFilter.html#Lucene_Net_Analysis_Util_FilteringTokenFilter_IncrementToken">IncrementToken()</a> uses this method
to decide if a token should be passed to the caller.
<p>
As of Lucene 4.4, an
<span class="xref">System.ArgumentException</span> is thrown when trying to disable position
increments when filtering terms.
</p></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/Lucene.Net.Util.AttributeSource.html">AttributeSource</a></div>
    <div class="level2"><a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenStream.html">TokenStream</a></div>
    <div class="level3"><a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenFilter.html">TokenFilter</a></div>
    <div class="level4"><span class="xref">FilteringTokenFilter</span></div>
      <div class="level5"><a class="xref" href="Lucene.Net.Analysis.Core.StopFilter.html">StopFilter</a></div>
      <div class="level5"><a class="xref" href="Lucene.Net.Analysis.Core.TypeTokenFilter.html">TypeTokenFilter</a></div>
      <div class="level5"><a class="xref" href="Lucene.Net.Analysis.Miscellaneous.CodepointCountFilter.html">CodepointCountFilter</a></div>
      <div class="level5"><a class="xref" href="Lucene.Net.Analysis.Miscellaneous.KeepWordFilter.html">KeepWordFilter</a></div>
      <div class="level5"><a class="xref" href="Lucene.Net.Analysis.Miscellaneous.LengthFilter.html">LengthFilter</a></div>
  </div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><span class="xref">System.IDisposable</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenFilter.html#Lucene_Net_Analysis_TokenFilter_m_input">TokenFilter.m_input</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenFilter.html#Lucene_Net_Analysis_TokenFilter_Dispose_System_Boolean_">TokenFilter.Dispose(Boolean)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenStream.html#Lucene_Net_Analysis_TokenStream_Dispose">TokenStream.Dispose()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_GetAttributeFactory">AttributeSource.GetAttributeFactory()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_GetAttributeClassesEnumerator">AttributeSource.GetAttributeClassesEnumerator()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_GetAttributeImplsEnumerator">AttributeSource.GetAttributeImplsEnumerator()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_AddAttributeImpl_Lucene_Net_Util_Attribute_">AttributeSource.AddAttributeImpl(Attribute)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_AddAttribute__1">AttributeSource.AddAttribute&lt;T&gt;()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_HasAttributes">AttributeSource.HasAttributes</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_HasAttribute__1">AttributeSource.HasAttribute&lt;T&gt;()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_GetAttribute__1">AttributeSource.GetAttribute&lt;T&gt;()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_ClearAttributes">AttributeSource.ClearAttributes()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_CaptureState">AttributeSource.CaptureState()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_RestoreState_Lucene_Net_Util_AttributeSource_State_">AttributeSource.RestoreState(AttributeSource.State)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_GetHashCode">AttributeSource.GetHashCode()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_Equals_System_Object_">AttributeSource.Equals(Object)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_ReflectAsString_System_Boolean_">AttributeSource.ReflectAsString(Boolean)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_ReflectWith_Lucene_Net_Util_IAttributeReflector_">AttributeSource.ReflectWith(IAttributeReflector)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_CloneAttributes">AttributeSource.CloneAttributes()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_CopyTo_Lucene_Net_Util_AttributeSource_">AttributeSource.CopyTo(AttributeSource)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_ToString">AttributeSource.ToString()</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.Analysis.Util.html">Lucene.Net.Analysis.Util</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.Analysis.Common.dll</h6>
  <h5 id="Lucene_Net_Analysis_Util_FilteringTokenFilter_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract class FilteringTokenFilter : TokenFilter, IDisposable</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_Analysis_Util_FilteringTokenFilter__ctor_Lucene_Net_Util_LuceneVersion_Lucene_Net_Analysis_TokenStream_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.FilteringTokenFilter.%23ctor(Lucene.Net.Util.LuceneVersion%2CLucene.Net.Analysis.TokenStream)%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.Analysis.Common/Analysis/Util/FilteringTokenFilter.cs/#L72">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_FilteringTokenFilter__ctor_" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.#ctor*"></a>
  <h4 id="Lucene_Net_Analysis_Util_FilteringTokenFilter__ctor_Lucene_Net_Util_LuceneVersion_Lucene_Net_Analysis_TokenStream_" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.#ctor(Lucene.Net.Util.LuceneVersion,Lucene.Net.Analysis.TokenStream)">FilteringTokenFilter(LuceneVersion, TokenStream)</h4>
  <div class="markdown level1 summary"><p>Create a new <a class="xref" href="Lucene.Net.Analysis.Util.FilteringTokenFilter.html">FilteringTokenFilter</a>. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public FilteringTokenFilter(LuceneVersion version, TokenStream in)</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/Lucene.Net.Util.LuceneVersion.html">LuceneVersion</a></td>
        <td><span class="parametername">version</span></td>
        <td><p>the Lucene match version </p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenStream.html">TokenStream</a></td>
        <td><span class="parametername">in</span></td>
        <td><p>the <a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenStream.html">TokenStream</a> to consume </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-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Util_FilteringTokenFilter__ctor_Lucene_Net_Util_LuceneVersion_System_Boolean_Lucene_Net_Analysis_TokenStream_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.FilteringTokenFilter.%23ctor(Lucene.Net.Util.LuceneVersion%2CSystem.Boolean%2CLucene.Net.Analysis.TokenStream)%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.Analysis.Common/Analysis/Util/FilteringTokenFilter.cs/#L60">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_FilteringTokenFilter__ctor_" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.#ctor*"></a>
  <h4 id="Lucene_Net_Analysis_Util_FilteringTokenFilter__ctor_Lucene_Net_Util_LuceneVersion_System_Boolean_Lucene_Net_Analysis_TokenStream_" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.#ctor(Lucene.Net.Util.LuceneVersion,System.Boolean,Lucene.Net.Analysis.TokenStream)">FilteringTokenFilter(LuceneVersion, Boolean, TokenStream)</h4>
  <div class="markdown level1 summary"><p>Create a new <a class="xref" href="Lucene.Net.Analysis.Util.FilteringTokenFilter.html">FilteringTokenFilter</a>. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;enablePositionIncrements=false is not supported anymore as of Lucene 4.4&quot;)]
public FilteringTokenFilter(LuceneVersion version, bool enablePositionIncrements, TokenStream input)</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/Lucene.Net.Util.LuceneVersion.html">LuceneVersion</a></td>
        <td><span class="parametername">version</span></td>
        <td><p>the <a href="#lucene_match_version">Lucene match version</a> </p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">enablePositionIncrements</span></td>
        <td><p>whether to increment position increments when filtering out terms </p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenStream.html">TokenStream</a></td>
        <td><span class="parametername">input</span></td>
        <td><p>the input to consume </p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="fields">Fields
  </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_Analysis_Util_FilteringTokenFilter_m_version.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.FilteringTokenFilter.m_version%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.Analysis.Common/Analysis/Util/FilteringTokenFilter.cs/#L48">View Source</a>
  </span>
  <h4 id="Lucene_Net_Analysis_Util_FilteringTokenFilter_m_version" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.m_version">m_version</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">protected readonly LuceneVersion m_version</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</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.Util.LuceneVersion.html">LuceneVersion</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <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-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Util_FilteringTokenFilter_EnablePositionIncrements.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.FilteringTokenFilter.EnablePositionIncrements%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.Analysis.Common/Analysis/Util/FilteringTokenFilter.cs/#L132">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_FilteringTokenFilter_EnablePositionIncrements_" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.EnablePositionIncrements*"></a>
  <h4 id="Lucene_Net_Analysis_Util_FilteringTokenFilter_EnablePositionIncrements" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.EnablePositionIncrements">EnablePositionIncrements</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 virtual bool EnablePositionIncrements { 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>
  <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_Analysis_Util_FilteringTokenFilter_Accept.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.FilteringTokenFilter.Accept%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.Analysis.Common/Analysis/Util/FilteringTokenFilter.cs/#L82">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_FilteringTokenFilter_Accept_" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.Accept*"></a>
  <h4 id="Lucene_Net_Analysis_Util_FilteringTokenFilter_Accept" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.Accept">Accept()</h4>
  <div class="markdown level1 summary"><p>Override this method and return if the current input token should be returned by <a class="xref" href="Lucene.Net.Analysis.Util.FilteringTokenFilter.html#Lucene_Net_Analysis_Util_FilteringTokenFilter_IncrementToken">IncrementToken()</a>. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected abstract bool Accept()</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.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-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Util_FilteringTokenFilter_End.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.FilteringTokenFilter.End%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.Analysis.Common/Analysis/Util/FilteringTokenFilter.cs/#L164">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_FilteringTokenFilter_End_" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.End*"></a>
  <h4 id="Lucene_Net_Analysis_Util_FilteringTokenFilter_End" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.End">End()</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 void End()</code></pre>
  </div>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenFilter.html#Lucene_Net_Analysis_TokenFilter_End">TokenFilter.End()</a></div>
  <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_Analysis_Util_FilteringTokenFilter_IncrementToken.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.FilteringTokenFilter.IncrementToken%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.Analysis.Common/Analysis/Util/FilteringTokenFilter.cs/#L84">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_FilteringTokenFilter_IncrementToken_" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.IncrementToken*"></a>
  <h4 id="Lucene_Net_Analysis_Util_FilteringTokenFilter_IncrementToken" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.IncrementToken">IncrementToken()</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 sealed bool IncrementToken()</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.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenStream.html#Lucene_Net_Analysis_TokenStream_IncrementToken">TokenStream.IncrementToken()</a></div>
  <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_Analysis_Util_FilteringTokenFilter_Reset.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.FilteringTokenFilter.Reset%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.Analysis.Common/Analysis/Util/FilteringTokenFilter.cs/#L125">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_FilteringTokenFilter_Reset_" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.Reset*"></a>
  <h4 id="Lucene_Net_Analysis_Util_FilteringTokenFilter_Reset" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.Reset">Reset()</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 void Reset()</code></pre>
  </div>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenFilter.html#Lucene_Net_Analysis_TokenFilter_Reset">TokenFilter.Reset()</a></div>
  <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_Analysis_Util_FilteringTokenFilter_SetEnablePositionIncrements_System_Boolean_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.FilteringTokenFilter.SetEnablePositionIncrements(System.Boolean)%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.Analysis.Common/Analysis/Util/FilteringTokenFilter.cs/#L156">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_FilteringTokenFilter_SetEnablePositionIncrements_" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.SetEnablePositionIncrements*"></a>
  <h4 id="Lucene_Net_Analysis_Util_FilteringTokenFilter_SetEnablePositionIncrements_System_Boolean_" data-uid="Lucene.Net.Analysis.Util.FilteringTokenFilter.SetEnablePositionIncrements(System.Boolean)">SetEnablePositionIncrements(Boolean)</h4>
  <div class="markdown level1 summary"><p>If <code>true</code>, this <a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenFilter.html">TokenFilter</a> will preserve
positions of the incoming tokens (ie, accumulate and
set position increments of the removed tokens).
Generally, <code>true</code> is best as it does not
lose information (positions of the original tokens)
during indexing.</p>
<p><p> When set, when a token is stopped
(omitted), the position increment of the following
token is incremented.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;enablePositionIncrements=false is not supported anymore as of Lucene 4.4&quot;)]
public virtual void SetEnablePositionIncrements(bool enable)</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.Boolean</span></td>
        <td><span class="parametername">enable</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="implements">Implements</h3>
  <div>
      <span class="xref">System.IDisposable</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-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Util_FilteringTokenFilter.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.FilteringTokenFilter%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.Analysis.Common/Analysis/Util/FilteringTokenFilter.cs/#L35" 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>
