﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class SoraniStemFilterFactory
   | Apache Lucene.NET 4.8.0-beta00013 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class SoraniStemFilterFactory
   | 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.Ckb.SoraniStemFilterFactory">
  
  
  <h1 id="Lucene_Net_Analysis_Ckb_SoraniStemFilterFactory" data-uid="Lucene.Net.Analysis.Ckb.SoraniStemFilterFactory" class="text-break">Class SoraniStemFilterFactory
  </h1>
  <div class="markdown level0 summary"><p>Factory for <a class="xref" href="Lucene.Net.Analysis.Ckb.SoraniStemFilter.html">SoraniStemFilter</a>.</p>
<pre><code>&lt;fieldType name=&quot;text_ckbstem&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;>
  &lt;analyzer>
    &lt;tokenizer class=&quot;solr.StandardTokenizerFactory&quot;/>
    &lt;filter class=&quot;solr.SoraniNormalizationFilterFactory&quot;/>
    &lt;filter class=&quot;solr.SoraniStemFilterFactory&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.TokenFilterFactory.html">TokenFilterFactory</a></div>
    <div class="level3"><span class="xref">SoraniStemFilterFactory</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.TokenFilterFactory.html#Lucene_Net_Analysis_Util_TokenFilterFactory_ForName_System_String_System_Collections_Generic_IDictionary_System_String_System_String__">TokenFilterFactory.ForName(String, IDictionary&lt;String, String&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.TokenFilterFactory.html#Lucene_Net_Analysis_Util_TokenFilterFactory_LookupClass_System_String_">TokenFilterFactory.LookupClass(String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.TokenFilterFactory.html#Lucene_Net_Analysis_Util_TokenFilterFactory_AvailableTokenFilters">TokenFilterFactory.AvailableTokenFilters</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Analysis.Util.TokenFilterFactory.html#Lucene_Net_Analysis_Util_TokenFilterFactory_ReloadTokenFilters">TokenFilterFactory.ReloadTokenFilters()</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_System_Collections_Generic_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_System_Collections_Generic_IDictionary_System_String_System_String__System_String_System_Collections_Generic_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_System_Collections_Generic_IDictionary_System_String_System_String__System_String_System_Collections_Generic_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_System_Collections_Generic_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_System_Collections_Generic_IDictionary_System_String_System_String__System_String_System_Collections_Generic_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_System_Collections_Generic_IDictionary_System_String_System_String__System_String_System_Collections_Generic_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_System_Collections_Generic_IDictionary_System_String_System_String__System_String_System_Collections_Generic_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_System_Collections_Generic_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_System_Collections_Generic_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_System_Collections_Generic_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_System_Collections_Generic_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_System_Collections_Generic_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_System_Collections_Generic_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_System_Collections_Generic_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_System_Collections_Generic_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_System_Collections_Generic_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_System_Collections_Generic_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_System_Collections_Generic_IDictionary_System_String_System_String__System_String_System_Globalization_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>
      <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.Analysis.Ckb.html">Lucene.Net.Analysis.Ckb</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.Analysis.Common.dll</h6>
  <h5 id="Lucene_Net_Analysis_Ckb_SoraniStemFilterFactory_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class SoraniStemFilterFactory : TokenFilterFactory</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-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Ckb_SoraniStemFilterFactory__ctor_System_Collections_Generic_IDictionary_System_String_System_String__.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Ckb.SoraniStemFilterFactory.%23ctor(System.Collections.Generic.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/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Analysis.Common/Analysis/Ckb/SoraniStemFilterFactory.cs/#L40">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Ckb_SoraniStemFilterFactory__ctor_" data-uid="Lucene.Net.Analysis.Ckb.SoraniStemFilterFactory.#ctor*"></a>
  <h4 id="Lucene_Net_Analysis_Ckb_SoraniStemFilterFactory__ctor_System_Collections_Generic_IDictionary_System_String_System_String__" data-uid="Lucene.Net.Analysis.Ckb.SoraniStemFilterFactory.#ctor(System.Collections.Generic.IDictionary{System.String,System.String})">SoraniStemFilterFactory(IDictionary&lt;String, String&gt;)</h4>
  <div class="markdown level1 summary"><p>Creates a new <a class="xref" href="Lucene.Net.Analysis.Ckb.SoraniStemFilterFactory.html">SoraniStemFilterFactory</a> </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public SoraniStemFilterFactory(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">System.Collections.Generic.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-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Ckb_SoraniStemFilterFactory_Create_Lucene_Net_Analysis_TokenStream_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Ckb.SoraniStemFilterFactory.Create(Lucene.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/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Analysis.Common/Analysis/Ckb/SoraniStemFilterFactory.cs/#L49">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Ckb_SoraniStemFilterFactory_Create_" data-uid="Lucene.Net.Analysis.Ckb.SoraniStemFilterFactory.Create*"></a>
  <h4 id="Lucene_Net_Analysis_Ckb_SoraniStemFilterFactory_Create_Lucene_Net_Analysis_TokenStream_" data-uid="Lucene.Net.Analysis.Ckb.SoraniStemFilterFactory.Create(Lucene.Net.Analysis.TokenStream)">Create(TokenStream)</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 TokenStream Create(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><span class="xref">Lucene.Net.Analysis.TokenStream</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">Lucene.Net.Analysis.TokenStream</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Lucene.Net.Analysis.Util.TokenFilterFactory.html#Lucene_Net_Analysis_Util_TokenFilterFactory_Create_Lucene_Net_Analysis_TokenStream_">TokenFilterFactory.Create(TokenStream)</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-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Ckb_SoraniStemFilterFactory.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Ckb.SoraniStemFilterFactory%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.Analysis.Common/Analysis/Ckb/SoraniStemFilterFactory.cs/#L36" 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>
