<!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.Search.Function.OrdFieldSource 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_search.html">Search</a></li><li class="navelem"><a class="el" href="namespace_lucene_1_1_net_1_1_search_1_1_function.html">Function</a></li><li class="navelem"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_ord_field_source.html">OrdFieldSource</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_ord_field_source-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Lucene.Net.Search.Function.OrdFieldSource Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Expert: obtains the ordinal of the field value from the default <a class="el" href="namespace_lucene.html">Lucene</a> <a class="el" href="interface_lucene_1_1_net_1_1_search_1_1_field_cache.html">Fieldcache</a> using getStringIndex(). The native lucene index order is used to assign an ordinal value for each field value. Field values (terms) are lexicographically ordered by unicode value, and numbered starting at 1. Example: <br/>
If there were only three field values: "apple","banana","pear" <br/>
then ord("apple")=1, ord("banana")=2, ord("pear")=3 WARNING: ord() depends on the position in an index and can thus change when other documents are inserted or deleted, or if a <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_multi_searcher.html" title="Implements search over a set of Searchables.">MultiSearcher</a> is used.  
 <a href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_ord_field_source.html#details">More...</a></p>

<p>Inherits <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source.html">Lucene.Net.Search.Function.ValueSource</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a548473bc3785fe2ac86fce56fadd43a3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_ord_field_source.html#a548473bc3785fe2ac86fce56fadd43a3">OrdFieldSource</a> (System.String field)</td></tr>
<tr class="memdesc:a548473bc3785fe2ac86fce56fadd43a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for a certain field. <a href="#a548473bc3785fe2ac86fce56fadd43a3"></a><br/></td></tr>
<tr class="separator:a548473bc3785fe2ac86fce56fadd43a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92330a1251633e032317e75ea60bb88c"><td class="memItemLeft" align="right" valign="top">override System.String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_ord_field_source.html#a92330a1251633e032317e75ea60bb88c">Description</a> ()</td></tr>
<tr class="memdesc:a92330a1251633e032317e75ea60bb88c"><td class="mdescLeft">&#160;</td><td class="mdescRight">description of field, used in explain()  <a href="#a92330a1251633e032317e75ea60bb88c"></a><br/></td></tr>
<tr class="separator:a92330a1251633e032317e75ea60bb88c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43c9186a289f04ee30f35603bd51e4fd"><td class="memItemLeft" align="right" valign="top">override <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_doc_values.html">DocValues</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_ord_field_source.html#a43c9186a289f04ee30f35603bd51e4fd">GetValues</a> (<a class="el" href="_more_like_this_8cs.html#a2a6914ea10bbe06764856e29e5674e66">IndexReader</a> reader)</td></tr>
<tr class="memdesc:a43c9186a289f04ee30f35603bd51e4fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_doc_values.html" title="Expert: represents field values as different types. Normally created via a ValueSuorce for a particul...">DocValues</a> used by the function query. <a href="#a43c9186a289f04ee30f35603bd51e4fd"></a><br/></td></tr>
<tr class="separator:a43c9186a289f04ee30f35603bd51e4fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac71b14a62c8c2be163afe65864933fdd"><td class="memItemLeft" align="right" valign="top">override bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_ord_field_source.html#ac71b14a62c8c2be163afe65864933fdd">Equals</a> (System.Object o)</td></tr>
<tr class="memdesc:ac71b14a62c8c2be163afe65864933fdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Needed for possible caching of query results - used by ValueSourceQuery.Equals(Object). <a href="#ac71b14a62c8c2be163afe65864933fdd"></a><br/></td></tr>
<tr class="separator:ac71b14a62c8c2be163afe65864933fdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e77f9a9826446c95e69bb3d3f31ae18"><td class="memItemLeft" align="right" valign="top">override int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_ord_field_source.html#a4e77f9a9826446c95e69bb3d3f31ae18">GetHashCode</a> ()</td></tr>
<tr class="memdesc:a4e77f9a9826446c95e69bb3d3f31ae18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Needed for possible caching of query results - used by <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source_query.html#a7f1a2a5b13e425af8014a6a838eeaa57" title="Returns a hash code value for this object. ">ValueSourceQuery.GetHashCode()</a>. <a href="#a4e77f9a9826446c95e69bb3d3f31ae18"></a><br/></td></tr>
<tr class="separator:a4e77f9a9826446c95e69bb3d3f31ae18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source.html">Lucene.Net.Search.Function.ValueSource</a></td></tr>
<tr class="memitem:a502b061330d9e0ba6139ac58a4ffa0b9 inherit pub_methods_class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source"><td class="memItemLeft" align="right" valign="top">override System.String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source.html#a502b061330d9e0ba6139ac58a4ffa0b9">ToString</a> ()</td></tr>
<tr class="separator:a502b061330d9e0ba6139ac58a4ffa0b9 inherit pub_methods_class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source"><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>Expert: obtains the ordinal of the field value from the default <a class="el" href="namespace_lucene.html">Lucene</a> <a class="el" href="interface_lucene_1_1_net_1_1_search_1_1_field_cache.html">Fieldcache</a> using getStringIndex(). </p>
<p>The native lucene index order is used to assign an ordinal value for each field value. </p>
<p>Field values (terms) are lexicographically ordered by unicode value, and numbered starting at 1. </p>
<p>Example: <br/>
If there were only three field values: "apple","banana","pear" <br/>
then ord("apple")=1, ord("banana")=2, ord("pear")=3 </p>
<p>WARNING: ord() depends on the position in an index and can thus change when other documents are inserted or deleted, or if a <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_multi_searcher.html" title="Implements search over a set of Searchables.">MultiSearcher</a> is used. </p>
<p>&lt;font color="#FF0000"&gt; WARNING: The status of the <b><a class="el" href="namespace_lucene_1_1_net_1_1_search_1_1_function.html">Search.Function</a></b> package is experimental. The APIs introduced here might change in the future and will not be supported anymore in such a case.&lt;/font&gt;</p>
<p><b>NOTE</b>: with the switch in 2.9 to segment-based searching, if <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_ord_field_source.html#a43c9186a289f04ee30f35603bd51e4fd" title="Return the DocValues used by the function query.">GetValues</a> is invoked with a composite (multi-segment) reader, this can easily cause double RAM usage for the values in the <a class="el" href="interface_lucene_1_1_net_1_1_search_1_1_field_cache.html">FieldCache</a>. It's best to switch your application to pass only atomic (single segment) readers to this API.</p>

<p>Definition at line <a class="el" href="_ord_field_source_8cs_source.html#l00056">56</a> of file <a class="el" href="_ord_field_source_8cs_source.html">OrdFieldSource.cs</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a548473bc3785fe2ac86fce56fadd43a3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Lucene.Net.Search.Function.OrdFieldSource.OrdFieldSource </td>
          <td>(</td>
          <td class="paramtype">System.String&#160;</td>
          <td class="paramname"><em>field</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor for a certain field.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">field</td><td>field whose values order is used. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_ord_field_source_8cs_source.html#l00107">107</a> of file <a class="el" href="_ord_field_source_8cs_source.html">OrdFieldSource.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a92330a1251633e032317e75ea60bb88c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override System.String Lucene.Net.Search.Function.OrdFieldSource.Description </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>description of field, used in explain() </p>

<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source.html#a20134fc1e0bb7739626e2434f95473ba">Lucene.Net.Search.Function.ValueSource</a>.</p>

<p>Definition at line <a class="el" href="_ord_field_source_8cs_source.html#l00113">113</a> of file <a class="el" href="_ord_field_source_8cs_source.html">OrdFieldSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="ac71b14a62c8c2be163afe65864933fdd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override bool Lucene.Net.Search.Function.OrdFieldSource.Equals </td>
          <td>(</td>
          <td class="paramtype">System.Object&#160;</td>
          <td class="paramname"><em>o</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Needed for possible caching of query results - used by ValueSourceQuery.Equals(Object).</p>
<dl class="section see"><dt>See Also</dt><dd>Object.Equals(Object)</dd></dl>

<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source.html#aed70eaaa40d4170914f814a7ced188bc">Lucene.Net.Search.Function.ValueSource</a>.</p>

<p>Definition at line <a class="el" href="_ord_field_source_8cs_source.html#l00126">126</a> of file <a class="el" href="_ord_field_source_8cs_source.html">OrdFieldSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a4e77f9a9826446c95e69bb3d3f31ae18"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override int Lucene.Net.Search.Function.OrdFieldSource.GetHashCode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Needed for possible caching of query results - used by <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source_query.html#a7f1a2a5b13e425af8014a6a838eeaa57" title="Returns a hash code value for this object. ">ValueSourceQuery.GetHashCode()</a>.</p>
<dl class="section see"><dt>See Also</dt><dd>Object.GetHashCode()</dd></dl>

<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source.html#a614e97264e961aa7c769a6e592f30f09">Lucene.Net.Search.Function.ValueSource</a>.</p>

<p>Definition at line <a class="el" href="_ord_field_source_8cs_source.html#l00137">137</a> of file <a class="el" href="_ord_field_source_8cs_source.html">OrdFieldSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a43c9186a289f04ee30f35603bd51e4fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_doc_values.html">DocValues</a> Lucene.Net.Search.Function.OrdFieldSource.GetValues </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="_more_like_this_8cs.html#a2a6914ea10bbe06764856e29e5674e66">IndexReader</a>&#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">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_doc_values.html" title="Expert: represents field values as different types. Normally created via a ValueSuorce for a particul...">DocValues</a> used by the function query.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">reader</td><td>the IndexReader used to read these values. If any caching is involved, that caching would also be IndexReader based. </td></tr>
  </table>
  </dd>
</dl>
<p>&lt;throws&gt; IOException for any error. &lt;/throws&gt; </p>

<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source.html#a4fe47158939f191400db3b71dec5a61f">Lucene.Net.Search.Function.ValueSource</a>.</p>

<p>Definition at line <a class="el" href="_ord_field_source_8cs_source.html#l00119">119</a> of file <a class="el" href="_ord_field_source_8cs_source.html">OrdFieldSource.cs</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>core/Search/Function/<a class="el" href="_ord_field_source_8cs_source.html">OrdFieldSource.cs</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 3 2013 02:12:58 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>
