﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Namespace Lucene.Net.Analysis.Fa
   | Apache Lucene.NET 4.8.0-beta00013 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Namespace Lucene.Net.Analysis.Fa
   | 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="analysis-common/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.Analysis.Fa">
  
  <h1 id="Lucene_Net_Analysis_Fa" data-uid="Lucene.Net.Analysis.Fa" class="text-break">Namespace Lucene.Net.Analysis.Fa
  </h1>
  <div class="markdown level0 summary"><!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->
<p>Analyzer for Persian.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="markdown level0 remarks"></div>
    <h3 id="classes">Classes
  </h3>
      <h4><a class="xref" href="Lucene.Net.Analysis.Fa.PersianAnalyzer.html">PersianAnalyzer</a></h4>
      <section><p><span class="xref">Lucene.Net.Analysis.Analyzer</span> for Persian.
<p>
This Analyzer uses <a class="xref" href="Lucene.Net.Analysis.Fa.PersianCharFilter.html">PersianCharFilter</a> which implies tokenizing around
zero-width non-joiner in addition to whitespace. Some persian-specific variant forms (such as farsi
yeh and keheh) are standardized. &quot;Stemming&quot; is accomplished via stopwords.
</p></p>
</section>
      <h4><a class="xref" href="Lucene.Net.Analysis.Fa.PersianCharFilter.html">PersianCharFilter</a></h4>
      <section><p><span class="xref">Lucene.Net.Analysis.CharFilter</span> that replaces instances of Zero-width non-joiner with an
ordinary space.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.Analysis.Fa.PersianCharFilterFactory.html">PersianCharFilterFactory</a></h4>
      <section><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>
</section>
      <h4><a class="xref" href="Lucene.Net.Analysis.Fa.PersianNormalizationFilter.html">PersianNormalizationFilter</a></h4>
      <section><p>A <span class="xref">Lucene.Net.Analysis.TokenFilter</span> that applies <a class="xref" href="Lucene.Net.Analysis.Fa.PersianNormalizer.html">PersianNormalizer</a> to normalize the
orthography.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.Analysis.Fa.PersianNormalizationFilterFactory.html">PersianNormalizationFilterFactory</a></h4>
      <section><p>Factory for <a class="xref" href="Lucene.Net.Analysis.Fa.PersianNormalizationFilter.html">PersianNormalizationFilter</a>.</p>
<pre><code>&lt;fieldType name=&quot;text_fanormal&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;filter class=&quot;solr.PersianNormalizationFilterFactory&quot;/>
  &lt;/analyzer>
&lt;/fieldType></code></pre>
</section>
      <h4><a class="xref" href="Lucene.Net.Analysis.Fa.PersianNormalizer.html">PersianNormalizer</a></h4>
      <section><p>Normalizer for Persian.
<p>
Normalization is done in-place for efficiency, operating on a termbuffer.
</p>
<p>
Normalization is defined as:
<ul><li>Normalization of various heh + hamza forms and heh goal to heh.</li><li>Normalization of farsi yeh and yeh barree to arabic yeh</li><li>Normalization of persian keheh to arabic kaf</li></ul>
</p></p>
</section>
</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/blob/docs/4.8.0-beta00013/src/Lucene.Net.Analysis.Common/Analysis/Fa/package.md/#L2" class="contribution-link">Improve this Doc</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>
