<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3"/>
<title>Lucene.Net: Lucene.Net.Analysis.WordlistLoader Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="lucene-net-icon-128x128.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">Lucene.Net
   &#160;<span id="projectnumber">3.0.3</span>
   </div>
   <div id="projectbrief">Lucene.Net is a .NET port of the Java Lucene Indexing Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="Index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Properties</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespace_lucene.html">Lucene</a></li><li class="navelem"><a class="el" href="namespace_lucene_1_1_net.html">Net</a></li><li class="navelem"><a class="el" href="namespace_lucene_1_1_net_1_1_analysis.html">Analysis</a></li><li class="navelem"><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_wordlist_loader.html">WordlistLoader</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="class_lucene_1_1_net_1_1_analysis_1_1_wordlist_loader-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Lucene.Net.Analysis.WordlistLoader Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Loader for text files that represent a list of stopwords. 
 <a href="class_lucene_1_1_net_1_1_analysis_1_1_wordlist_loader.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a8c03d44044716caeb31ea634057f164f"><td class="memItemLeft" align="right" valign="top">static ISet&lt; string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_wordlist_loader.html#a8c03d44044716caeb31ea634057f164f">GetWordSet</a> (System.IO.FileInfo wordfile)</td></tr>
<tr class="memdesc:a8c03d44044716caeb31ea634057f164f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads a text file and adds every line as an entry to a HashSet (omitting leading and trailing whitespace). Every line of the file should contain only one word. The words need to be in lowercase if you make use of an <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_analyzer.html" title="An Analyzer builds TokenStreams, which analyze text. It thus represents a policy for extracting index...">Analyzer</a> which uses <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_lower_case_filter.html" title="Normalizes token text to lower case.">LowerCaseFilter</a> (like StandardAnalyzer).  <a href="#a8c03d44044716caeb31ea634057f164f"></a><br/></td></tr>
<tr class="separator:a8c03d44044716caeb31ea634057f164f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cb9e743592d83000add7e62caeb1675"><td class="memItemLeft" align="right" valign="top">static ISet&lt; string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_wordlist_loader.html#a9cb9e743592d83000add7e62caeb1675">GetWordSet</a> (System.IO.FileInfo wordfile, System.String comment)</td></tr>
<tr class="memdesc:a9cb9e743592d83000add7e62caeb1675"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads a text file and adds every non-comment line as an entry to a HashSet (omitting leading and trailing whitespace). Every line of the file should contain only one word. The words need to be in lowercase if you make use of an <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_analyzer.html" title="An Analyzer builds TokenStreams, which analyze text. It thus represents a policy for extracting index...">Analyzer</a> which uses <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_lower_case_filter.html" title="Normalizes token text to lower case.">LowerCaseFilter</a> (like StandardAnalyzer).  <a href="#a9cb9e743592d83000add7e62caeb1675"></a><br/></td></tr>
<tr class="separator:a9cb9e743592d83000add7e62caeb1675"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a379750a77b612c2b25532db7e781e4c8"><td class="memItemLeft" align="right" valign="top">static ISet&lt; string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_wordlist_loader.html#a379750a77b612c2b25532db7e781e4c8">GetWordSet</a> (System.IO.TextReader reader)</td></tr>
<tr class="memdesc:a379750a77b612c2b25532db7e781e4c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads lines from a Reader and adds every line as an entry to a HashSet (omitting leading and trailing whitespace). Every line of the Reader should contain only one word. The words need to be in lowercase if you make use of an <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_analyzer.html" title="An Analyzer builds TokenStreams, which analyze text. It thus represents a policy for extracting index...">Analyzer</a> which uses <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_lower_case_filter.html" title="Normalizes token text to lower case.">LowerCaseFilter</a> (like StandardAnalyzer).  <a href="#a379750a77b612c2b25532db7e781e4c8"></a><br/></td></tr>
<tr class="separator:a379750a77b612c2b25532db7e781e4c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27658a0a61bd1059f0e5d69632168b9b"><td class="memItemLeft" align="right" valign="top">static ISet&lt; string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_wordlist_loader.html#a27658a0a61bd1059f0e5d69632168b9b">GetWordSet</a> (System.IO.TextReader reader, System.String comment)</td></tr>
<tr class="memdesc:a27658a0a61bd1059f0e5d69632168b9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads lines from a Reader and adds every non-comment line as an entry to a HashSet (omitting leading and trailing whitespace). Every line of the Reader should contain only one word. The words need to be in lowercase if you make use of an <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_analyzer.html" title="An Analyzer builds TokenStreams, which analyze text. It thus represents a policy for extracting index...">Analyzer</a> which uses <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_lower_case_filter.html" title="Normalizes token text to lower case.">LowerCaseFilter</a> (like StandardAnalyzer).  <a href="#a27658a0a61bd1059f0e5d69632168b9b"></a><br/></td></tr>
<tr class="separator:a27658a0a61bd1059f0e5d69632168b9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a554fc1a6206c235be69f5c9e4c358372"><td class="memItemLeft" align="right" valign="top">static Dictionary&lt; string, string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_wordlist_loader.html#a554fc1a6206c235be69f5c9e4c358372">GetStemDict</a> (System.IO.FileInfo wordstemfile)</td></tr>
<tr class="memdesc:a554fc1a6206c235be69f5c9e4c358372"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a stem dictionary. Each line contains: <code>word<b></b>stem</code> (i.e. two tab seperated words)  <a href="#a554fc1a6206c235be69f5c9e4c358372"></a><br/></td></tr>
<tr class="separator:a554fc1a6206c235be69f5c9e4c358372"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Loader for text files that represent a list of stopwords.</p>

<p>Definition at line <a class="el" href="core_2_analysis_2_wordlist_loader_8cs_source.html#l00024">24</a> of file <a class="el" href="core_2_analysis_2_wordlist_loader_8cs_source.html">WordlistLoader.cs</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a554fc1a6206c235be69f5c9e4c358372"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static Dictionary&lt;string, string&gt; Lucene.Net.Analysis.WordlistLoader.GetStemDict </td>
          <td>(</td>
          <td class="paramtype">System.IO.FileInfo&#160;</td>
          <td class="paramname"><em>wordstemfile</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads a stem dictionary. Each line contains: <code>word<b></b>stem</code> (i.e. two tab seperated words) </p>
<dl class="section return"><dt>Returns</dt><dd>stem dictionary that overrules the stemming algorithm </dd></dl>
<p>&lt;throws&gt; IOException &lt;/throws&gt; </p>

<p>Definition at line <a class="el" href="core_2_analysis_2_wordlist_loader_8cs_source.html#l00117">117</a> of file <a class="el" href="core_2_analysis_2_wordlist_loader_8cs_source.html">WordlistLoader.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a8c03d44044716caeb31ea634057f164f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static ISet&lt;string&gt; Lucene.Net.Analysis.WordlistLoader.GetWordSet </td>
          <td>(</td>
          <td class="paramtype">System.IO.FileInfo&#160;</td>
          <td class="paramname"><em>wordfile</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Loads a text file and adds every line as an entry to a HashSet (omitting leading and trailing whitespace). Every line of the file should contain only one word. The words need to be in lowercase if you make use of an <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_analyzer.html" title="An Analyzer builds TokenStreams, which analyze text. It thus represents a policy for extracting index...">Analyzer</a> which uses <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_lower_case_filter.html" title="Normalizes token text to lower case.">LowerCaseFilter</a> (like StandardAnalyzer). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wordfile</td><td>File containing the wordlist</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A HashSet with the file's words</dd></dl>

<p>Definition at line <a class="el" href="core_2_analysis_2_wordlist_loader_8cs_source.html#l00034">34</a> of file <a class="el" href="core_2_analysis_2_wordlist_loader_8cs_source.html">WordlistLoader.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a9cb9e743592d83000add7e62caeb1675"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static ISet&lt;string&gt; Lucene.Net.Analysis.WordlistLoader.GetWordSet </td>
          <td>(</td>
          <td class="paramtype">System.IO.FileInfo&#160;</td>
          <td class="paramname"><em>wordfile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">System.String&#160;</td>
          <td class="paramname"><em>comment</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Loads a text file and adds every non-comment line as an entry to a HashSet (omitting leading and trailing whitespace). Every line of the file should contain only one word. The words need to be in lowercase if you make use of an <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_analyzer.html" title="An Analyzer builds TokenStreams, which analyze text. It thus represents a policy for extracting index...">Analyzer</a> which uses <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_lower_case_filter.html" title="Normalizes token text to lower case.">LowerCaseFilter</a> (like StandardAnalyzer). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wordfile</td><td>File containing the wordlist</td></tr>
    <tr><td class="paramname">comment</td><td>The comment string to ignore</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A HashSet with the file's words</dd></dl>

<p>Definition at line <a class="el" href="core_2_analysis_2_wordlist_loader_8cs_source.html#l00050">50</a> of file <a class="el" href="core_2_analysis_2_wordlist_loader_8cs_source.html">WordlistLoader.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a379750a77b612c2b25532db7e781e4c8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static ISet&lt;string&gt; Lucene.Net.Analysis.WordlistLoader.GetWordSet </td>
          <td>(</td>
          <td class="paramtype">System.IO.TextReader&#160;</td>
          <td class="paramname"><em>reader</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads lines from a Reader and adds every line as an entry to a HashSet (omitting leading and trailing whitespace). Every line of the Reader should contain only one word. The words need to be in lowercase if you make use of an <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_analyzer.html" title="An Analyzer builds TokenStreams, which analyze text. It thus represents a policy for extracting index...">Analyzer</a> which uses <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_lower_case_filter.html" title="Normalizes token text to lower case.">LowerCaseFilter</a> (like StandardAnalyzer). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">reader</td><td>Reader containing the wordlist</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A HashSet with the reader's words</dd></dl>

<p>Definition at line <a class="el" href="core_2_analysis_2_wordlist_loader_8cs_source.html#l00066">66</a> of file <a class="el" href="core_2_analysis_2_wordlist_loader_8cs_source.html">WordlistLoader.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a27658a0a61bd1059f0e5d69632168b9b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static ISet&lt;string&gt; Lucene.Net.Analysis.WordlistLoader.GetWordSet </td>
          <td>(</td>
          <td class="paramtype">System.IO.TextReader&#160;</td>
          <td class="paramname"><em>reader</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">System.String&#160;</td>
          <td class="paramname"><em>comment</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads lines from a Reader and adds every non-comment line as an entry to a HashSet (omitting leading and trailing whitespace). Every line of the Reader should contain only one word. The words need to be in lowercase if you make use of an <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_analyzer.html" title="An Analyzer builds TokenStreams, which analyze text. It thus represents a policy for extracting index...">Analyzer</a> which uses <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_lower_case_filter.html" title="Normalizes token text to lower case.">LowerCaseFilter</a> (like StandardAnalyzer). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">reader</td><td>Reader containing the wordlist </td></tr>
    <tr><td class="paramname">comment</td><td>The string representing a comment. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A HashSet with the reader's words </dd></dl>

<p>Definition at line <a class="el" href="core_2_analysis_2_wordlist_loader_8cs_source.html#l00091">91</a> of file <a class="el" href="core_2_analysis_2_wordlist_loader_8cs_source.html">WordlistLoader.cs</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>core/Analysis/<a class="el" href="core_2_analysis_2_wordlist_loader_8cs_source.html">WordlistLoader.cs</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 3 2013 02:12:48 for Lucene.Net by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3
</small></address>
</body>
</html>
