blob: cbe210f976898b9e6f7433edf7d38b1c40e5b3aa [file] [log] [blame]
<!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: contrib/Spatial/Util/FunctionQuery.cs Source File</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><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><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="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#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="dir_3a8d697be1e2feab9f01acc78e9570fb.html">contrib</a></li><li class="navelem"><a class="el" href="dir_aa809726ac61f61d2abe128b5a67bd02.html">Spatial</a></li><li class="navelem"><a class="el" href="dir_d7718c9aea6f15939c6787b29428b46c.html">Util</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">FunctionQuery.cs</div> </div>
</div><!--header-->
<div class="contents">
<a href="_function_query_8cs.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * contributor license agreements. See the NOTICE file distributed with</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * this work for additional information regarding copyright ownership.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * (the &quot;License&quot;); you may not use this file except in compliance with</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * the License. You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * limitations under the License.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">using</span> System;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">using</span> Lucene.Net.Index;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">using</span> Lucene.Net.Search;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">using</span> Lucene.Net.Search.Function;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">namespace </span>Lucene.Net.Spatial.Util</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;{</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html"> 34</a></span>&#160; <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html" title="Port of Solr&#39;s FunctionQuery (v1.4)">FunctionQuery</a> : <a class="code" href="class_lucene_1_1_net_1_1_search_1_1_query.html" title="The abstract base class for queries. Instantiable subclasses are: TermQuery MultiTermQuery BooleanQ...">Query</a></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; {</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html#a209a713c24b976ec8afabfa13b8e72d2"> 36</a></span>&#160; <span class="keyword">protected</span> readonly <a class="code" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source.html" title="Expert: source of values for basic function queries. At its default/simplest form, values - one per doc - are used as the score of that doc. Values are instantiated as DocValues for a particular reader. ValueSource implementations differ in RAM requirements: it would always be a factor of the number of documents, but for each document the number of bytes can be 1, 2, 4, or 8.">ValueSource</a> <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html#a209a713c24b976ec8afabfa13b8e72d2">func</a>;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html#a5eb4ffa90bc3c59558778cb725034aa9"> 38</a></span>&#160; <span class="keyword">public</span> <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html" title="Port of Solr&#39;s FunctionQuery (v1.4)">FunctionQuery</a>(<a class="code" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source.html" title="Expert: source of values for basic function queries. At its default/simplest form, values - one per doc - are used as the score of that doc. Values are instantiated as DocValues for a particular reader. ValueSource implementations differ in RAM requirements: it would always be a factor of the number of documents, but for each document the number of bytes can be 1, 2, 4, or 8.">ValueSource</a> func)</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; {</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; this.func = func;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; }</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html#ab1aba93106eb335dd7dda7583933990e"> 47</a></span>&#160; <span class="keyword">public</span> <a class="code" href="class_lucene_1_1_net_1_1_search_1_1_function_1_1_value_source.html" title="Expert: source of values for basic function queries. At its default/simplest form, values - one per doc - are used as the score of that doc. Values are instantiated as DocValues for a particular reader. ValueSource implementations differ in RAM requirements: it would always be a factor of the number of documents, but for each document the number of bytes can be 1, 2, 4, or 8.">ValueSource</a> GetValueSource()</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; {</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">return</span> func;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; }</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html#a0da186b4710b16e9eb1b387f3450deb6"> 52</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <a class="code" href="class_lucene_1_1_net_1_1_search_1_1_query.html" title="The abstract base class for queries. Instantiable subclasses are: TermQuery MultiTermQuery BooleanQ...">Query</a> Rewrite(Index.IndexReader reader)</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> <span class="keyword">this</span>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; }</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html#a002820ff22b18715dc9724f94bb46532"> 57</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> ExtractTerms(System.Collections.Generic.ISet&lt;<a class="code" href="class_lucene_1_1_net_1_1_index_1_1_term.html" title="A Term represents a word from text. This is the unit of search. It is composed of two elements...">Term</a>&gt; terms)</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="comment">//base.ExtractTerms(terms);</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html"> 62</a></span>&#160; <span class="keyword">protected</span> <span class="keyword">class </span><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html">FunctionWeight</a> : <a class="code" href="class_lucene_1_1_net_1_1_search_1_1_weight.html" title="Expert: Calculate query weights and build query scorers. The purpose of Weight is to ensure searching...">Weight</a></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#ae712168ad829231aaf0daabc12dbc0cc"> 64</a></span>&#160; <span class="keyword">protected</span> <a class="code" href="class_lucene_1_1_net_1_1_search_1_1_searcher.html" title="An abstract base class for search implementations. Implements the main search methods.">Searcher</a> <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#ae712168ad829231aaf0daabc12dbc0cc">searcher</a>;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#a6e7450bdb7d6d70be5b0e316bbf230d7"> 65</a></span>&#160; <span class="keyword">protected</span> <span class="keywordtype">float</span> <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#a6e7450bdb7d6d70be5b0e316bbf230d7">queryNorm</a>;</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#a6502e9541d7c1cd3d19e8746b1a18555"> 66</a></span>&#160; <span class="keyword">protected</span> <span class="keywordtype">float</span> <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#a6502e9541d7c1cd3d19e8746b1a18555">queryWeight</a>;</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#a09f4fbbfbeb06b5517824b1a042d7381"> 67</a></span>&#160; <span class="keyword">protected</span> readonly <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html" title="Port of Solr&#39;s FunctionQuery (v1.4)">FunctionQuery</a> <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#a09f4fbbfbeb06b5517824b1a042d7381">enclosingInstance</a>;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#ad79782951f65fc9274f776f9bc414956"> 69</a></span>&#160; <span class="keyword">public</span> <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html">FunctionWeight</a>(<a class="code" href="class_lucene_1_1_net_1_1_search_1_1_searcher.html" title="An abstract base class for search implementations. Implements the main search methods.">Searcher</a> searcher, <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html" title="Port of Solr&#39;s FunctionQuery (v1.4)">FunctionQuery</a> q)</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; {</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; enclosingInstance = q;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; this.searcher = searcher;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">//q.func.CreateWeight(searcher);</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keyword">internal</span> <span class="keywordtype">float</span> GetQueryNorm()</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; {</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> queryNorm;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <a class="code" href="class_lucene_1_1_net_1_1_search_1_1_query.html" title="The abstract base class for queries. Instantiable subclasses are: TermQuery MultiTermQuery BooleanQ...">Query</a> <a class="code" href="class_lucene_1_1_net_1_1_search_1_1_query.html" title="The abstract base class for queries. Instantiable subclasses are: TermQuery MultiTermQuery BooleanQ...">Query</a></div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#a7c9434ba50f2e91ec4f70f005ace336a"> 82</a></span>&#160; {</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keyword">get</span> { <span class="keywordflow">return</span> enclosingInstance; }</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">float</span> Value</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#a0fb03af4994f36c0e82b3b14ebfe1398"> 87</a></span>&#160; {</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keyword">get</span> { <span class="keywordflow">return</span> queryWeight; }</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#ab8fdec6eced929d3ccede8b2c632a016"> 91</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">float</span> GetSumOfSquaredWeights()</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; queryWeight = enclosingInstance.<a class="code" href="class_lucene_1_1_net_1_1_search_1_1_query.html#a2a58b600e864bed65cc21815fffa0218" title="Gets or sets the boost for this query clause to b. Documents matching this clause will (in addition t...">Boost</a>;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">return</span> queryWeight * queryWeight;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#acf4f1ef494997ae15f65067806ca7033"> 97</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> Normalize(<span class="keywordtype">float</span> norm)</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; this.queryNorm = norm;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; queryWeight *= this.queryNorm;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#a3b6f69eded0e4fb93194c6e80cea6824"> 103</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <a class="code" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html" title="Expert: Common scoring functionality for different types of queries.">Scorer</a> <a class="code" href="_documents_writer_8cs.html#a83f1a9bf052559c9fc4b5dc2c3d490f1">Scorer</a>(<a class="code" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reader, <span class="keywordtype">bool</span> scoreDocsInOrder, <span class="keywordtype">bool</span> topScorer)</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_all_scorer.html">AllScorer</a>(enclosingInstance.GetSimilarity(searcher), reader, <span class="keyword">this</span>);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#a147d940954e704ba3022a5a6579c72d7"> 108</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <a class="code" href="class_lucene_1_1_net_1_1_search_1_1_explanation.html" title="Expert: Describes the score computation for document and query. ">Explanation</a> Explain(<a class="code" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reader, <span class="keywordtype">int</span> doc)</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> ((<a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_all_scorer.html">AllScorer</a>)<a class="code" href="_documents_writer_8cs.html#a83f1a9bf052559c9fc4b5dc2c3d490f1">Scorer</a>(reader, <span class="keyword">true</span>, <span class="keyword">true</span>)).Explain(doc);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_all_scorer.html"> 114</a></span>&#160; <span class="keyword">protected</span> <span class="keyword">class </span><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_all_scorer.html">AllScorer</a> : <a class="code" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html" title="Expert: Common scoring functionality for different types of queries.">Scorer</a></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; {</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; readonly <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reader;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; readonly <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html">FunctionWeight</a> weight;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; readonly <span class="keywordtype">int</span> maxDoc;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; readonly <span class="keywordtype">float</span> qWeight;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordtype">int</span> doc = -1;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; readonly <a class="code" 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> vals;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; readonly <span class="keywordtype">bool</span> hasDeletions;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_all_scorer.html#a15b6bc5049c88809da567b617c43a743"> 124</a></span>&#160; <span class="keyword">public</span> <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_all_scorer.html">AllScorer</a>(<a class="code" href="class_lucene_1_1_net_1_1_search_1_1_similarity.html" title="Expert: Scoring API. Subclasses implement search scoring.">Similarity</a> similarity, <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html" title="IndexReader is an abstract class, providing an interface for accessing an index. Search of an index i...">IndexReader</a> reader, <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html">FunctionWeight</a> w)</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; : base(similarity)</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; this.weight = w;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; this.qWeight = w.<a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#a0fb03af4994f36c0e82b3b14ebfe1398">Value</a>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; this.reader = reader;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; this.maxDoc = reader.<a class="code" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ac7694e685dde51863b8974da924fa439" title="Returns one greater than the largest possible document number. This may be used to, e.g., determine how big to allocate an array which will have an element for every document number in an index. ">MaxDoc</a>;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; this.hasDeletions = reader.<a class="code" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html#ae5873f4e3a1253dd2cad0849eb74d9e0" title="Returns true if any documents have been deleted ">HasDeletions</a>;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; vals = ((<a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html" title="Port of Solr&#39;s FunctionQuery (v1.4)">FunctionQuery</a>)w.<a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html#a7c9434ba50f2e91ec4f70f005ace336a">Query</a>).func.GetValues(reader);</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; }</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_all_scorer.html#a9fd51469a42e6bbb262268728b5c9d91"> 135</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">int</span> DocID()</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span> doc;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="comment">// instead of matching all docs, we could also embed a query.</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="comment">// the score could either ignore the subscore, or boost it.</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="comment">// Containment: floatline(foo:myTerm, &quot;myFloatField&quot;, 1.0, 0.0f)</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="comment">// Boost: foo:myTerm^floatline(&quot;myFloatField&quot;,1.0,0.0f)</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_all_scorer.html#a3ce605e76220bb8c5c3a68f3506c2960"> 144</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">int</span> NextDoc()</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">for</span> (; ; )</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; {</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; ++doc;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">if</span> (doc &gt;= maxDoc)</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; {</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">return</span> doc = NO_MORE_DOCS;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">if</span> (hasDeletions &amp;&amp; reader.IsDeleted(doc)) <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> doc;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_all_scorer.html#a58e8013964d94dc28a3c28991457dfb2"> 158</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">int</span> Advance(<span class="keywordtype">int</span> target)</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="comment">// this will work even if target==NO_MORE_DOCS</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; doc = target - 1;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> NextDoc();</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_all_scorer.html#a4340b25f8d996e184782eeb5c2cc011d"> 165</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">float</span> Score()</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; {</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordtype">float</span> score = qWeight * vals.FloatVal(doc);</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="comment">// Current Lucene priority queues can&#39;t handle NaN and -Infinity, so</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="comment">// map to -Float.MAX_VALUE. This conditional handles both -infinity</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="comment">// and NaN since comparisons with NaN are always false.</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">return</span> score &gt; <span class="keywordtype">float</span>.NegativeInfinity ? score : -<span class="keywordtype">float</span>.MaxValue;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;</div>
<div class="line"><a name="l00175"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_all_scorer.html#a52dd0bd39e56df8bf98b5a20f13c14e8"> 175</a></span>&#160; <span class="keyword">public</span> <span class="comment">/*override*/</span> <a class="code" href="class_lucene_1_1_net_1_1_search_1_1_explanation.html" title="Expert: Describes the score computation for document and query. ">Explanation</a> Explain(<span class="keywordtype">int</span> doc)</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; {</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordtype">float</span> sc = qWeight * vals.FloatVal(doc);</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="class_lucene_1_1_net_1_1_search_1_1_explanation.html" title="Expert: Describes the score computation for document and query. ">Explanation</a> result = <span class="keyword">new</span> <a class="code" href="_custom_score_query_8cs.html#aaff36a95cdad7bc1affaff3241d83f90">ComplexExplanation</a></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; (<span class="keyword">true</span>, sc, <span class="stringliteral">&quot;FunctionQuery(&quot;</span> + ((<a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html" title="Port of Solr&#39;s FunctionQuery (v1.4)">FunctionQuery</a>)weight.Query).func + <span class="stringliteral">&quot;), product of:&quot;</span>);</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; result.<a class="code" href="class_lucene_1_1_net_1_1_search_1_1_explanation.html#a61e84f9a277600115dbc3457ca276abd" title="Adds a sub-node to this explanation node. ">AddDetail</a>(vals.Explain(doc));</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; result.<a class="code" href="class_lucene_1_1_net_1_1_search_1_1_explanation.html#a61e84f9a277600115dbc3457ca276abd" title="Adds a sub-node to this explanation node. ">AddDetail</a>(<span class="keyword">new</span> <a class="code" href="_custom_score_query_8cs.html#aea5b3dcb7c8a52294feb57dcaa878033">Explanation</a>(weight.Query.Boost, <span class="stringliteral">&quot;boost&quot;</span>));</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; result.<a class="code" href="class_lucene_1_1_net_1_1_search_1_1_explanation.html#a61e84f9a277600115dbc3457ca276abd" title="Adds a sub-node to this explanation node. ">AddDetail</a>(<span class="keyword">new</span> <a class="code" href="_custom_score_query_8cs.html#aea5b3dcb7c8a52294feb57dcaa878033">Explanation</a>(weight.GetQueryNorm(), <span class="stringliteral">&quot;queryNorm&quot;</span>));</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; }</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; }</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div>
<div class="line"><a name="l00189"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html#a49082b861455e25759ee746da03183ed"> 189</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <a class="code" href="class_lucene_1_1_net_1_1_search_1_1_weight.html" title="Expert: Calculate query weights and build query scorers. The purpose of Weight is to ensure searching...">Weight</a> CreateWeight(<a class="code" href="class_lucene_1_1_net_1_1_search_1_1_searcher.html" title="An abstract base class for search implementations. Implements the main search methods.">Searcher</a> searcher)</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; {</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html" title="Port of Solr&#39;s FunctionQuery (v1.4)">FunctionQuery</a>.FunctionWeight(searcher, <span class="keyword">this</span>);</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div>
<div class="line"><a name="l00194"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html#a0adc64e471f841129d9f72d0f42f292b"> 194</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">string</span> ToString(<span class="keywordtype">string</span> field)</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; {</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordtype">float</span> boost = Boost;</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span> (boost != 1.0 ? <span class="stringliteral">&quot;(&quot;</span> : <span class="stringliteral">&quot;&quot;</span>) + func.<a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html#a0adc64e471f841129d9f72d0f42f292b">ToString</a>()</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; + (boost == 1.0 ? <span class="stringliteral">&quot;&quot;</span> : <span class="stringliteral">&quot;)^&quot;</span> + boost);</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; }</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div>
<div class="line"><a name="l00201"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html#acf85caa1bae0f1f17aa9efea9f784f70"> 201</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">bool</span> Equals(<span class="keywordtype">object</span> o)</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; {</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; var other = o as <a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html" title="Port of Solr&#39;s FunctionQuery (v1.4)">FunctionQuery</a>;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">if</span> (other == null) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">return</span> this.Boost == other.<a class="code" href="class_lucene_1_1_net_1_1_search_1_1_query.html#a2a58b600e864bed65cc21815fffa0218" title="Gets or sets the boost for this query clause to b. Documents matching this clause will (in addition t...">Boost</a> &amp;&amp; this.func.Equals(other.func);</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div>
<div class="line"><a name="l00210"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query.html#a016a065454a44afeed1e7b30854fc2e0"> 210</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">int</span> GetHashCode()</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; {</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">int</span>) (func.GetHashCode() * 31 + BitConverter.DoubleToInt64Bits(Boost));</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 3 2013 02:12:44 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>