﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class WordlistLoader
   | Apache Lucene.NET 4.8.0-beta00013 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class WordlistLoader
   | 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.Util.WordlistLoader">
  
  
  <h1 id="Lucene_Net_Analysis_Util_WordlistLoader" data-uid="Lucene.Net.Analysis.Util.WordlistLoader" class="text-break">Class WordlistLoader
  </h1>
  <div class="markdown level0 summary"><p>Loader for text files that represent a list of stopwords.
<p>
<a class="xref" href="https://lucenenet.apache.org/docs/4.8.0-beta00013/api/core/Lucene.Net.Util.IOUtils.html">IOUtils</a> to obtain <span class="xref">System.IO.TextReader</span> instances.</p>
<div class="lucene-block lucene-internal">This is a Lucene.NET INTERNAL API, use at your own risk</div></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">WordlistLoader</span></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.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_WordlistLoader_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static class WordlistLoader</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_Analysis_Util_WordlistLoader_GetLines_System_IO_Stream_System_Text_Encoding_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.WordlistLoader.GetLines(System.IO.Stream%2CSystem.Text.Encoding)%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/Util/WordlistLoader.cs/#L227">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_WordlistLoader_GetLines_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetLines*"></a>
  <h4 id="Lucene_Net_Analysis_Util_WordlistLoader_GetLines_System_IO_Stream_System_Text_Encoding_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetLines(System.IO.Stream,System.Text.Encoding)">GetLines(Stream, Encoding)</h4>
  <div class="markdown level1 summary"><p>Accesses a resource by name and returns the (non comment) lines containing
data using the given character encoding.
<p>
A comment line is any line that starts with the character &quot;#&quot;
</p></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static IList&lt;string&gt; GetLines(Stream stream, Encoding encoding)</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.IO.Stream</span></td>
        <td><span class="parametername">stream</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Text.Encoding</span></td>
        <td><span class="parametername">encoding</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">System.Collections.Generic.IList</span>&lt;<span class="xref">System.String</span>&gt;</td>
        <td><p>a list of non-blank non-comment lines with whitespace trimmed </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 there is a low-level I/O error. </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_Analysis_Util_WordlistLoader_GetSnowballWordSet_System_IO_TextReader_Lucene_Net_Analysis_Util_CharArraySet_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.WordlistLoader.GetSnowballWordSet(System.IO.TextReader%2CLucene.Net.Analysis.Util.CharArraySet)%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/Util/WordlistLoader.cs/#L144">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_WordlistLoader_GetSnowballWordSet_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetSnowballWordSet*"></a>
  <h4 id="Lucene_Net_Analysis_Util_WordlistLoader_GetSnowballWordSet_System_IO_TextReader_Lucene_Net_Analysis_Util_CharArraySet_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetSnowballWordSet(System.IO.TextReader,Lucene.Net.Analysis.Util.CharArraySet)">GetSnowballWordSet(TextReader, CharArraySet)</h4>
  <div class="markdown level1 summary"><p>Reads stopwords from a stopword list in Snowball format.
<p>
The snowball format is the following:
<ul><li>Lines may contain multiple words separated by whitespace.</li><li>The comment character is the vertical line (|).</li><li>Lines may contain trailing comments.</li></ul>
</p></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static CharArraySet GetSnowballWordSet(TextReader reader, CharArraySet result)</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.IO.TextReader</span></td>
        <td><span class="parametername">reader</span></td>
        <td><p><span class="xref">System.IO.TextReader</span> containing a Snowball stopword list </p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a></td>
        <td><span class="parametername">result</span></td>
        <td><p>the <a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a> to fill with the readers words </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.Analysis.Util.CharArraySet.html">CharArraySet</a></td>
        <td><p>the given <a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a> with the reader&apos;s words </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_Analysis_Util_WordlistLoader_GetSnowballWordSet_System_IO_TextReader_Lucene_Net_Util_LuceneVersion_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.WordlistLoader.GetSnowballWordSet(System.IO.TextReader%2CLucene.Net.Util.LuceneVersion)%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/Util/WordlistLoader.cs/#L187">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_WordlistLoader_GetSnowballWordSet_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetSnowballWordSet*"></a>
  <h4 id="Lucene_Net_Analysis_Util_WordlistLoader_GetSnowballWordSet_System_IO_TextReader_Lucene_Net_Util_LuceneVersion_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetSnowballWordSet(System.IO.TextReader,Lucene.Net.Util.LuceneVersion)">GetSnowballWordSet(TextReader, LuceneVersion)</h4>
  <div class="markdown level1 summary"><p>Reads stopwords from a stopword list in Snowball format.
<p>
The snowball format is the following:
<ul><li>Lines may contain multiple words separated by whitespace.</li><li>The comment character is the vertical line (|).</li><li>Lines may contain trailing comments.</li></ul>
</p></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static CharArraySet GetSnowballWordSet(TextReader reader, LuceneVersion matchVersion)</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.IO.TextReader</span></td>
        <td><span class="parametername">reader</span></td>
        <td><p><span class="xref">System.IO.TextReader</span> containing a Snowball stopword list </p>
</td>
      </tr>
      <tr>
        <td><span class="xref">Lucene.Net.Util.LuceneVersion</span></td>
        <td><span class="parametername">matchVersion</span></td>
        <td><p>the Lucene <span class="xref">Lucene.Net.Util.LuceneVersion</span> </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.Analysis.Util.CharArraySet.html">CharArraySet</a></td>
        <td><p>A <a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a> with the reader&apos;s words </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_Analysis_Util_WordlistLoader_GetStemDict_System_IO_TextReader_Lucene_Net_Analysis_Util_CharArrayMap_System_String__.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.WordlistLoader.GetStemDict(System.IO.TextReader%2CLucene.Net.Analysis.Util.CharArrayMap%7BSystem.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/Util/WordlistLoader.cs/#L200">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_WordlistLoader_GetStemDict_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetStemDict*"></a>
  <h4 id="Lucene_Net_Analysis_Util_WordlistLoader_GetStemDict_System_IO_TextReader_Lucene_Net_Analysis_Util_CharArrayMap_System_String__" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetStemDict(System.IO.TextReader,Lucene.Net.Analysis.Util.CharArrayMap{System.String})">GetStemDict(TextReader, CharArrayMap&lt;String&gt;)</h4>
  <div class="markdown level1 summary"><p>Reads a stem dictionary. Each line contains:</p>
<pre><code>word<strong>\t</strong>stem</code></pre>
<p>(i.e. two tab separated words)</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static CharArrayMap&lt;string&gt; GetStemDict(TextReader reader, CharArrayMap&lt;string&gt; result)</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.IO.TextReader</span></td>
        <td><span class="parametername">reader</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.Analysis.Util.CharArrayMap-1.html">CharArrayMap</a>&lt;<span class="xref">System.String</span>&gt;</td>
        <td><span class="parametername">result</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><a class="xref" href="Lucene.Net.Analysis.Util.CharArrayMap-1.html">CharArrayMap</a>&lt;<span class="xref">System.String</span>&gt;</td>
        <td><p>stem dictionary that overrules the stemming algorithm </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 there is a low-level I/O error. </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_Analysis_Util_WordlistLoader_GetWordSet_System_IO_TextReader_Lucene_Net_Analysis_Util_CharArraySet_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.WordlistLoader.GetWordSet(System.IO.TextReader%2CLucene.Net.Analysis.Util.CharArraySet)%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/Util/WordlistLoader.cs/#L52">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_WordlistLoader_GetWordSet_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetWordSet*"></a>
  <h4 id="Lucene_Net_Analysis_Util_WordlistLoader_GetWordSet_System_IO_TextReader_Lucene_Net_Analysis_Util_CharArraySet_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetWordSet(System.IO.TextReader,Lucene.Net.Analysis.Util.CharArraySet)">GetWordSet(TextReader, CharArraySet)</h4>
  <div class="markdown level1 summary"><p>Reads lines from a <span class="xref">System.IO.TextReader</span> and adds every line as an entry to a <a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a> (omitting
leading and trailing whitespace). Every line of the <span class="xref">System.IO.TextReader</span> should contain only
one word. The words need to be in lowercase if you make use of an
<span class="xref">Lucene.Net.Analysis.Analyzer</span> which uses <a class="xref" href="Lucene.Net.Analysis.Core.LowerCaseFilter.html">LowerCaseFilter</a> (like <a class="xref" href="Lucene.Net.Analysis.Standard.StandardAnalyzer.html">StandardAnalyzer</a>).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static CharArraySet GetWordSet(TextReader reader, CharArraySet result)</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.IO.TextReader</span></td>
        <td><span class="parametername">reader</span></td>
        <td><p><span class="xref">System.IO.TextReader</span> containing the wordlist </p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a></td>
        <td><span class="parametername">result</span></td>
        <td><p>the <a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a> to fill with the readers words </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.Analysis.Util.CharArraySet.html">CharArraySet</a></td>
        <td><p>the given <a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a> with the reader&apos;s words </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_Analysis_Util_WordlistLoader_GetWordSet_System_IO_TextReader_Lucene_Net_Util_LuceneVersion_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.WordlistLoader.GetWordSet(System.IO.TextReader%2CLucene.Net.Util.LuceneVersion)%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/Util/WordlistLoader.cs/#L79">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_WordlistLoader_GetWordSet_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetWordSet*"></a>
  <h4 id="Lucene_Net_Analysis_Util_WordlistLoader_GetWordSet_System_IO_TextReader_Lucene_Net_Util_LuceneVersion_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetWordSet(System.IO.TextReader,Lucene.Net.Util.LuceneVersion)">GetWordSet(TextReader, LuceneVersion)</h4>
  <div class="markdown level1 summary"><p>Reads lines from a <span class="xref">System.IO.TextReader</span> and adds every line as an entry to a <a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a> (omitting
leading and trailing whitespace). Every line of the <span class="xref">System.IO.TextReader</span> should contain only
one word. The words need to be in lowercase if you make use of an
<span class="xref">Lucene.Net.Analysis.Analyzer</span> which uses <a class="xref" href="Lucene.Net.Analysis.Core.LowerCaseFilter.html">LowerCaseFilter</a> (like <a class="xref" href="Lucene.Net.Analysis.Standard.StandardAnalyzer.html">StandardAnalyzer</a>).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static CharArraySet GetWordSet(TextReader reader, LuceneVersion matchVersion)</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.IO.TextReader</span></td>
        <td><span class="parametername">reader</span></td>
        <td><p><span class="xref">System.IO.TextReader</span> containing the wordlist </p>
</td>
      </tr>
      <tr>
        <td><span class="xref">Lucene.Net.Util.LuceneVersion</span></td>
        <td><span class="parametername">matchVersion</span></td>
        <td><p>the <span class="xref">Lucene.Net.Util.LuceneVersion</span> </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.Analysis.Util.CharArraySet.html">CharArraySet</a></td>
        <td><p>A <a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a> with the reader&apos;s words </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_Analysis_Util_WordlistLoader_GetWordSet_System_IO_TextReader_System_String_Lucene_Net_Analysis_Util_CharArraySet_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.WordlistLoader.GetWordSet(System.IO.TextReader%2CSystem.String%2CLucene.Net.Analysis.Util.CharArraySet)%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/Util/WordlistLoader.cs/#L109">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_WordlistLoader_GetWordSet_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetWordSet*"></a>
  <h4 id="Lucene_Net_Analysis_Util_WordlistLoader_GetWordSet_System_IO_TextReader_System_String_Lucene_Net_Analysis_Util_CharArraySet_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetWordSet(System.IO.TextReader,System.String,Lucene.Net.Analysis.Util.CharArraySet)">GetWordSet(TextReader, String, CharArraySet)</h4>
  <div class="markdown level1 summary"><p>Reads lines from a <span class="xref">System.IO.TextReader</span> and adds every non-comment line as an entry to a <a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a> (omitting
leading and trailing whitespace). Every line of the <span class="xref">System.IO.TextReader</span> should contain only
one word. The words need to be in lowercase if you make use of an
<span class="xref">Lucene.Net.Analysis.Analyzer</span> which uses <a class="xref" href="Lucene.Net.Analysis.Core.LowerCaseFilter.html">LowerCaseFilter</a> (like <a class="xref" href="Lucene.Net.Analysis.Standard.StandardAnalyzer.html">StandardAnalyzer</a>).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static CharArraySet GetWordSet(TextReader reader, string comment, CharArraySet result)</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.IO.TextReader</span></td>
        <td><span class="parametername">reader</span></td>
        <td><p><span class="xref">System.IO.TextReader</span> containing the wordlist </p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">comment</span></td>
        <td><p>The string representing a comment. </p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a></td>
        <td><span class="parametername">result</span></td>
        <td><p>the <a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a> to fill with the readers words </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.Analysis.Util.CharArraySet.html">CharArraySet</a></td>
        <td><p>the given <a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a> with the reader&apos;s words </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_Analysis_Util_WordlistLoader_GetWordSet_System_IO_TextReader_System_String_Lucene_Net_Util_LuceneVersion_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.WordlistLoader.GetWordSet(System.IO.TextReader%2CSystem.String%2CLucene.Net.Util.LuceneVersion)%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/Util/WordlistLoader.cs/#L94">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Util_WordlistLoader_GetWordSet_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetWordSet*"></a>
  <h4 id="Lucene_Net_Analysis_Util_WordlistLoader_GetWordSet_System_IO_TextReader_System_String_Lucene_Net_Util_LuceneVersion_" data-uid="Lucene.Net.Analysis.Util.WordlistLoader.GetWordSet(System.IO.TextReader,System.String,Lucene.Net.Util.LuceneVersion)">GetWordSet(TextReader, String, LuceneVersion)</h4>
  <div class="markdown level1 summary"><p>Reads lines from a <span class="xref">System.IO.TextReader</span> and adds every non-comment line as an entry to a <a class="xref" href="Lucene.Net.Analysis.Util.CharArraySet.html">CharArraySet</a> (omitting
leading and trailing whitespace). Every line of the <span class="xref">System.IO.TextReader</span> should contain only
one word. The words need to be in lowercase if you make use of an
<span class="xref">Lucene.Net.Analysis.Analyzer</span> which uses <a class="xref" href="Lucene.Net.Analysis.Core.LowerCaseFilter.html">LowerCaseFilter</a> (like <a class="xref" href="Lucene.Net.Analysis.Standard.StandardAnalyzer.html">StandardAnalyzer</a>).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static CharArraySet GetWordSet(TextReader reader, string comment, LuceneVersion matchVersion)</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.IO.TextReader</span></td>
        <td><span class="parametername">reader</span></td>
        <td><p><span class="xref">System.IO.TextReader</span> containing the wordlist </p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">comment</span></td>
        <td><p>The string representing a comment. </p>
</td>
      </tr>
      <tr>
        <td><span class="xref">Lucene.Net.Util.LuceneVersion</span></td>
        <td><span class="parametername">matchVersion</span></td>
        <td><p>the <span class="xref">Lucene.Net.Util.LuceneVersion</span> </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.Analysis.Util.CharArraySet.html">CharArraySet</a></td>
        <td><p>A CharArraySet with the reader&apos;s words </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_Analysis_Util_WordlistLoader.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Util.WordlistLoader%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/Util/WordlistLoader.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 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>
