﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class PersianCharFilterFactory
   | Apache Lucene.NET 4.8.0 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class PersianCharFilterFactory
   | Apache Lucene.NET 4.8.0 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.Fa.PersianCharFilterFactory">
  
  
  <h1 id="Lucene_Net_Analysis_Fa_PersianCharFilterFactory" data-uid="Lucene.Net.Analysis.Fa.PersianCharFilterFactory" class="text-break">Class PersianCharFilterFactory
  </h1>
  <div class="markdown level0 summary"><p>Factory for <a class="xref" href="Lucene.Net.Analysis.Fa.PersianCharFilter.html">PersianCharFilter</a>.</p>
<pre><code>&lt;fieldType name=&quot;text_fa&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;>
  &lt;analyzer>
    &lt;charFilter class=&quot;solr.PersianCharFilterFactory&quot;/>
    &lt;tokenizer class=&quot;solr.StandardTokenizerFactory&quot;/>
  &lt;/analyzer>
&lt;/fieldType></code></pre>
</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.Analysis.Util.AbstractAnalysisFactory.html">AbstractAnalysisFactory</a></div>
    <div class="level2"><a class="xref" href="Lucene.Net.Analysis.Util.CharFilterFactory.html">CharFilterFactory</a></div>
    <div class="level3"><span class="xref">PersianCharFilterFactory</span></div>
  </div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="Lucene.Net.Analysis.Util.IMultiTermAwareComponent.html">IMultiTermAwareComponent</a></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.CharFilterFactory.html#Lucene_Net_Analysis_Util_CharFilterFactory_ForName_System_String_IDictionary_System_String_System_String__">CharFilterFactory.ForName(String, IDictionary&lt;String, String&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.CharFilterFactory.html#Lucene_Net_Analysis_Util_CharFilterFactory_LookupClass_System_String_">CharFilterFactory.LookupClass(String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.CharFilterFactory.html#Lucene_Net_Analysis_Util_CharFilterFactory_AvailableCharFilters">CharFilterFactory.AvailableCharFilters</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.CharFilterFactory.html#Lucene_Net_Analysis_Util_CharFilterFactory_ReloadCharFilters">CharFilterFactory.ReloadCharFilters()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_LUCENE_MATCH_VERSION_PARAM">AbstractAnalysisFactory.LUCENE_MATCH_VERSION_PARAM</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_m_luceneMatchVersion">AbstractAnalysisFactory.m_luceneMatchVersion</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_OriginalArgs">AbstractAnalysisFactory.OriginalArgs</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_AssureMatchVersion">AbstractAnalysisFactory.AssureMatchVersion()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_LuceneMatchVersion">AbstractAnalysisFactory.LuceneMatchVersion</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_Require_IDictionary_System_String_System_String__System_String_">AbstractAnalysisFactory.Require(IDictionary&lt;String, String&gt;, String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_Require_IDictionary_System_String_System_String__System_String_ICollection_System_String__">AbstractAnalysisFactory.Require(IDictionary&lt;String, String&gt;, String, ICollection&lt;String&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_Require_IDictionary_System_String_System_String__System_String_ICollection_System_String__System_Boolean_">AbstractAnalysisFactory.Require(IDictionary&lt;String, String&gt;, String, ICollection&lt;String&gt;, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_Get_IDictionary_System_String_System_String__System_String_System_String_">AbstractAnalysisFactory.Get(IDictionary&lt;String, String&gt;, String, String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_Get_IDictionary_System_String_System_String__System_String_ICollection_System_String__">AbstractAnalysisFactory.Get(IDictionary&lt;String, String&gt;, String, ICollection&lt;String&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_Get_IDictionary_System_String_System_String__System_String_ICollection_System_String__System_String_">AbstractAnalysisFactory.Get(IDictionary&lt;String, String&gt;, String, ICollection&lt;String&gt;, String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_Get_IDictionary_System_String_System_String__System_String_ICollection_System_String__System_String_System_Boolean_">AbstractAnalysisFactory.Get(IDictionary&lt;String, String&gt;, String, ICollection&lt;String&gt;, String, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_RequireInt32_IDictionary_System_String_System_String__System_String_">AbstractAnalysisFactory.RequireInt32(IDictionary&lt;String, String&gt;, String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_GetInt32_IDictionary_System_String_System_String__System_String_System_Int32_">AbstractAnalysisFactory.GetInt32(IDictionary&lt;String, String&gt;, String, Int32)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_RequireBoolean_IDictionary_System_String_System_String__System_String_">AbstractAnalysisFactory.RequireBoolean(IDictionary&lt;String, String&gt;, String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_GetBoolean_IDictionary_System_String_System_String__System_String_System_Boolean_">AbstractAnalysisFactory.GetBoolean(IDictionary&lt;String, String&gt;, String, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_RequireSingle_IDictionary_System_String_System_String__System_String_">AbstractAnalysisFactory.RequireSingle(IDictionary&lt;String, String&gt;, String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_GetSingle_IDictionary_System_String_System_String__System_String_System_Single_">AbstractAnalysisFactory.GetSingle(IDictionary&lt;String, String&gt;, String, Single)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_RequireChar_IDictionary_System_String_System_String__System_String_">AbstractAnalysisFactory.RequireChar(IDictionary&lt;String, String&gt;, String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_GetChar_IDictionary_System_String_System_String__System_String_System_Char_">AbstractAnalysisFactory.GetChar(IDictionary&lt;String, String&gt;, String, Char)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_GetSet_IDictionary_System_String_System_String__System_String_">AbstractAnalysisFactory.GetSet(IDictionary&lt;String, String&gt;, String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_GetPattern_IDictionary_System_String_System_String__System_String_">AbstractAnalysisFactory.GetPattern(IDictionary&lt;String, String&gt;, String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_GetCulture_IDictionary_System_String_System_String__System_String_CultureInfo_">AbstractAnalysisFactory.GetCulture(IDictionary&lt;String, String&gt;, String, CultureInfo)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_GetWordSet_Lucene_Net_Analysis_Util_IResourceLoader_System_String_System_Boolean_">AbstractAnalysisFactory.GetWordSet(IResourceLoader, String, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_GetLines_Lucene_Net_Analysis_Util_IResourceLoader_System_String_">AbstractAnalysisFactory.GetLines(IResourceLoader, String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_GetSnowballWordSet_Lucene_Net_Analysis_Util_IResourceLoader_System_String_System_Boolean_">AbstractAnalysisFactory.GetSnowballWordSet(IResourceLoader, String, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_SplitFileNames_System_String_">AbstractAnalysisFactory.SplitFileNames(String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_GetClassArg">AbstractAnalysisFactory.GetClassArg()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html#Lucene_Net_Analysis_Util_AbstractAnalysisFactory_IsExplicitLuceneMatchVersion">AbstractAnalysisFactory.IsExplicitLuceneMatchVersion</a>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Lucene.Net.Analysis.Fa.html">Lucene.Net.Analysis.Fa</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.Analysis.Common.dll</h6>
  <h5 id="Lucene_Net_Analysis_Fa_PersianCharFilterFactory_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class PersianCharFilterFactory : CharFilterFactory, IMultiTermAwareComponent</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-beta00007/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Fa_PersianCharFilterFactory__ctor_IDictionary_System_String_System_String__.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Fa.PersianCharFilterFactory.%23ctor(IDictionary%7BSystem.String%2CSystem.String%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-update-jan2020/src/Lucene.Net.Analysis.Common/Analysis/Fa/PersianCharFilterFactory.cs/#L38">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Fa_PersianCharFilterFactory__ctor_" data-uid="Lucene.Net.Analysis.Fa.PersianCharFilterFactory.#ctor*"></a>
  <h4 id="Lucene_Net_Analysis_Fa_PersianCharFilterFactory__ctor_IDictionary_System_String_System_String__" data-uid="Lucene.Net.Analysis.Fa.PersianCharFilterFactory.#ctor(IDictionary{System.String,System.String})">PersianCharFilterFactory(IDictionary&lt;String, String&gt;)</h4>
  <div class="markdown level1 summary"><p>Creates a new <a class="xref" href="Lucene.Net.Analysis.Fa.PersianCharFilterFactory.html">PersianCharFilterFactory</a> </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public PersianCharFilterFactory(IDictionary&lt;string, string&gt; args)</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">IDictionary</span>&lt;<span class="xref">System.String</span>, <span class="xref">System.String</span>&gt;</td>
        <td><span class="parametername">args</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-beta00007/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Fa_PersianCharFilterFactory_Create_TextReader_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Fa.PersianCharFilterFactory.Create(TextReader)%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-update-jan2020/src/Lucene.Net.Analysis.Common/Analysis/Fa/PersianCharFilterFactory.cs/#L47">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Fa_PersianCharFilterFactory_Create_" data-uid="Lucene.Net.Analysis.Fa.PersianCharFilterFactory.Create*"></a>
  <h4 id="Lucene_Net_Analysis_Fa_PersianCharFilterFactory_Create_TextReader_" data-uid="Lucene.Net.Analysis.Fa.PersianCharFilterFactory.Create(TextReader)">Create(TextReader)</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 TextReader Create(TextReader 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><span class="xref">TextReader</span></td>
        <td><span class="parametername">input</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><span class="xref">TextReader</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Lucene.Net.Analysis.Util.CharFilterFactory.html#Lucene_Net_Analysis_Util_CharFilterFactory_Create_TextReader_">CharFilterFactory.Create(TextReader)</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-beta00007/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Fa_PersianCharFilterFactory_GetMultiTermComponent.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Fa.PersianCharFilterFactory.GetMultiTermComponent%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-update-jan2020/src/Lucene.Net.Analysis.Common/Analysis/Fa/PersianCharFilterFactory.cs/#L52">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Fa_PersianCharFilterFactory_GetMultiTermComponent_" data-uid="Lucene.Net.Analysis.Fa.PersianCharFilterFactory.GetMultiTermComponent*"></a>
  <h4 id="Lucene_Net_Analysis_Fa_PersianCharFilterFactory_GetMultiTermComponent" data-uid="Lucene.Net.Analysis.Fa.PersianCharFilterFactory.GetMultiTermComponent">GetMultiTermComponent()</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 AbstractAnalysisFactory GetMultiTermComponent()</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><a class="xref" href="Lucene.Net.Analysis.Util.AbstractAnalysisFactory.html">AbstractAnalysisFactory</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="implements">Implements</h3>
  <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.IMultiTermAwareComponent.html">IMultiTermAwareComponent</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-beta00007/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Fa_PersianCharFilterFactory.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Fa.PersianCharFilterFactory%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-update-jan2020/src/Lucene.Net.Analysis.Common/Analysis/Fa/PersianCharFilterFactory.cs/#L34" 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>
