blob: a274581e4d3b32cae96c2fd46f457bff96b2732b [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: Lucene.Net.Search.ScoreCachingWrappingScorer 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="class_lucene_1_1_net_1_1_search_1_1_score_caching_wrapping_scorer.html">ScoreCachingWrappingScorer</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="class_lucene_1_1_net_1_1_search_1_1_score_caching_wrapping_scorer-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Lucene.Net.Search.ScoreCachingWrappingScorer Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A <a class="el" 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> which wraps another scorer and caches the score of the current document. Successive calls to <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_score_caching_wrapping_scorer.html#a9e97a6adf12ee75252149d660f59c822" title="Returns the score of the current document matching the query. Initially invalid, until DocIdSetIterat...">Score()</a> will return the same result and will not invoke the wrapped <a class="el" 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>'s score() method, unless the current document has changed.<br/>
This class might be useful due to the changes done to the <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_collector.html" title="Expert: Collectors are primarily meant to be used to gather raw results from a search, and implement sorting or custom result filtering, collation, etc. ">Collector</a> interface, in which the score is not computed for a document by default, only if the collector requests it. Some collectors may need to use the score in several places, however all they have in hand is a <a class="el" 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> object, and might end up computing the score of a document more than once.
<a href="class_lucene_1_1_net_1_1_search_1_1_score_caching_wrapping_scorer.html#details">More...</a></p>
<p>Inherits <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html">Lucene.Net.Search.Scorer</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:a18c9311946c66d4e495a6abc9e903fd0"><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_score_caching_wrapping_scorer.html#a18c9311946c66d4e495a6abc9e903fd0">ScoreCachingWrappingScorer</a> (<a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html">Scorer</a> scorer)</td></tr>
<tr class="memdesc:a18c9311946c66d4e495a6abc9e903fd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new instance by wrapping the given scorer. <a href="#a18c9311946c66d4e495a6abc9e903fd0"></a><br/></td></tr>
<tr class="separator:a18c9311946c66d4e495a6abc9e903fd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdca3448163a225d42cdd1d5b4817943"><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_score_caching_wrapping_scorer.html#acdca3448163a225d42cdd1d5b4817943">Score</a> (<a class="el" href="class_lucene_1_1_net_1_1_search_1_1_collector.html">Collector</a> collector, int max, int firstDocID)</td></tr>
<tr class="memdesc:acdca3448163a225d42cdd1d5b4817943"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: Collects matching documents in a range. Hook for optimization. Note, <em>firstDocID</em> is added to ensure that <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a70f16616e044ffd57b07dbc426c34e0d" title="Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if t...">DocIdSetIterator.NextDoc()</a> was called before this method. <a href="#acdca3448163a225d42cdd1d5b4817943"></a><br/></td></tr>
<tr class="separator:acdca3448163a225d42cdd1d5b4817943"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e97a6adf12ee75252149d660f59c822"><td class="memItemLeft" align="right" valign="top">override float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_score_caching_wrapping_scorer.html#a9e97a6adf12ee75252149d660f59c822">Score</a> ()</td></tr>
<tr class="memdesc:a9e97a6adf12ee75252149d660f59c822"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the score of the current document matching the query. Initially invalid, until <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a70f16616e044ffd57b07dbc426c34e0d" title="Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if t...">DocIdSetIterator.NextDoc()</a> or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a4ea4804a0dd948a55077e1dde86b0983" title="Advances to the first beyond the current whose document number is greater than or equal to target...">DocIdSetIterator.Advance(int)</a> is called the first time, or when called from within <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_collector.html#a125e477dc1b59bbdb22fa71eeac4fd8b" title="Called once for every document matching a query, with the unbased document number.">Collector.Collect(int)</a>. <a href="#a9e97a6adf12ee75252149d660f59c822"></a><br/></td></tr>
<tr class="separator:a9e97a6adf12ee75252149d660f59c822"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1c095e5fe822cf5c6e8cd950db9233b"><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_score_caching_wrapping_scorer.html#ad1c095e5fe822cf5c6e8cd950db9233b">DocID</a> ()</td></tr>
<tr class="memdesc:ad1c095e5fe822cf5c6e8cd950db9233b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the following: </p>
<ul>
<li>
-1 or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_score_caching_wrapping_scorer.html#a3c5f4e0b3364a4dff94d412d66a12eb2" title="Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if t...">NextDoc()</a> or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_score_caching_wrapping_scorer.html#a3946232af4ebdb74a13a9688c15d79ec" title="Advances to the first beyond the current whose document number is greater than or equal to target...">Advance(int)</a> were not called yet. </li>
<li>
<a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if the iterator has exhausted. </li>
<li>
Otherwise it should return the doc ID it is currently on. </li>
</ul>
<a href="#ad1c095e5fe822cf5c6e8cd950db9233b"></a><br/></td></tr>
<tr class="separator:ad1c095e5fe822cf5c6e8cd950db9233b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c5f4e0b3364a4dff94d412d66a12eb2"><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_score_caching_wrapping_scorer.html#a3c5f4e0b3364a4dff94d412d66a12eb2">NextDoc</a> ()</td></tr>
<tr class="memdesc:a3c5f4e0b3364a4dff94d412d66a12eb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advances to the next document in the set and returns the doc it is currently on, or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if there are no more docs in the set.<br/>
<a href="#a3c5f4e0b3364a4dff94d412d66a12eb2"></a><br/></td></tr>
<tr class="separator:a3c5f4e0b3364a4dff94d412d66a12eb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafbeaf50b7519faa21d3e6a2cf969d52"><td class="memItemLeft" align="right" valign="top">override void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_score_caching_wrapping_scorer.html#aafbeaf50b7519faa21d3e6a2cf969d52">Score</a> (<a class="el" href="class_lucene_1_1_net_1_1_search_1_1_collector.html">Collector</a> collector)</td></tr>
<tr class="memdesc:aafbeaf50b7519faa21d3e6a2cf969d52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scores and collects all matching documents. <a href="#aafbeaf50b7519faa21d3e6a2cf969d52"></a><br/></td></tr>
<tr class="separator:aafbeaf50b7519faa21d3e6a2cf969d52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3946232af4ebdb74a13a9688c15d79ec"><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_score_caching_wrapping_scorer.html#a3946232af4ebdb74a13a9688c15d79ec">Advance</a> (int target)</td></tr>
<tr class="memdesc:a3946232af4ebdb74a13a9688c15d79ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advances to the first beyond the current whose document number is greater than or equal to <em>target</em>. Returns the current document number or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if there are no more docs in the set. Behaves as if written: <a href="#a3946232af4ebdb74a13a9688c15d79ec"></a><br/></td></tr>
<tr class="separator:a3946232af4ebdb74a13a9688c15d79ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a27577948e59058e39f4e7c175fedd8f8"><td class="memItemLeft" align="right" valign="top">override <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_similarity.html">Similarity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_score_caching_wrapping_scorer.html#a27577948e59058e39f4e7c175fedd8f8">Similarity</a><code> [get]</code></td></tr>
<tr class="separator:a27577948e59058e39f4e7c175fedd8f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_class_lucene_1_1_net_1_1_search_1_1_scorer"><td colspan="2" onclick="javascript:toggleInherit('properties_class_lucene_1_1_net_1_1_search_1_1_scorer')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html">Lucene.Net.Search.Scorer</a></td></tr>
<tr class="memitem:aa2d07dddba4ce149cbd46abbfc139d8a inherit properties_class_lucene_1_1_net_1_1_search_1_1_scorer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_similarity.html">Similarity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html#aa2d07dddba4ce149cbd46abbfc139d8a">Similarity</a><code> [get]</code></td></tr>
<tr class="memdesc:aa2d07dddba4ce149cbd46abbfc139d8a inherit properties_class_lucene_1_1_net_1_1_search_1_1_scorer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_similarity.html" title="Expert: Scoring API. Subclasses implement search scoring.">Similarity</a> implementation used by this scorer. <a href="#aa2d07dddba4ce149cbd46abbfc139d8a"></a><br/></td></tr>
<tr class="separator:aa2d07dddba4ce149cbd46abbfc139d8a inherit properties_class_lucene_1_1_net_1_1_search_1_1_scorer"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_attribs_class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html">Lucene.Net.Search.DocIdSetIterator</a></td></tr>
<tr class="memitem:ac005b14762e519ad644745031fac2ad4 inherit pub_static_attribs_class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator"><td class="memItemLeft" align="right" valign="top">static readonly int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4">NO_MORE_DOCS</a> = System.Int32.MaxValue</td></tr>
<tr class="memdesc:ac005b14762e519ad644745031fac2ad4 inherit pub_static_attribs_class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">When returned by <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a70f16616e044ffd57b07dbc426c34e0d" title="Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if t...">NextDoc()</a>, <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a4ea4804a0dd948a55077e1dde86b0983" title="Advances to the first beyond the current whose document number is greater than or equal to target...">Advance(int)</a> and <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a617cbe6c07c261cc2cc86ad3d255152f" title="Returns the following: -1 or NO_MORE_DOCS if NextDoc() or Advance(int) were not called yet...">DocID()</a> it means there are no more docs in the iterator. <a href="#ac005b14762e519ad644745031fac2ad4"></a><br/></td></tr>
<tr class="separator:ac005b14762e519ad644745031fac2ad4 inherit pub_static_attribs_class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator"><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>A <a class="el" 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> which wraps another scorer and caches the score of the current document. Successive calls to <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_score_caching_wrapping_scorer.html#a9e97a6adf12ee75252149d660f59c822" title="Returns the score of the current document matching the query. Initially invalid, until DocIdSetIterat...">Score()</a> will return the same result and will not invoke the wrapped <a class="el" 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>'s score() method, unless the current document has changed.<br/>
This class might be useful due to the changes done to the <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_collector.html" title="Expert: Collectors are primarily meant to be used to gather raw results from a search, and implement sorting or custom result filtering, collation, etc. ">Collector</a> interface, in which the score is not computed for a document by default, only if the collector requests it. Some collectors may need to use the score in several places, however all they have in hand is a <a class="el" 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> object, and might end up computing the score of a document more than once. </p>
<p>Definition at line <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html#l00033">33</a> of file <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html">ScoreCachingWrappingScorer.cs</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a18c9311946c66d4e495a6abc9e903fd0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Lucene.Net.Search.ScoreCachingWrappingScorer.ScoreCachingWrappingScorer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html">Scorer</a>&#160;</td>
<td class="paramname"><em>scorer</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new instance by wrapping the given scorer. </p>
<p>Definition at line <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html#l00041">41</a> of file <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html">ScoreCachingWrappingScorer.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a3946232af4ebdb74a13a9688c15d79ec"></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.ScoreCachingWrappingScorer.Advance </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>target</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>Advances to the first beyond the current whose document number is greater than or equal to <em>target</em>. Returns the current document number or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if there are no more docs in the set. Behaves as if written: </p>
<p><code> int advance(int target) { int doc; while ((doc = nextDoc()) &lt; target) { } return doc; } </code></p>
<p>Some implementations are considerably more efficient than that. </p>
<p><b>NOTE:</b> certain implemenations may return a different value (each time) if called several times in a row with the same target. </p>
<p><b>NOTE:</b> this method may be called with <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> for efficiency by some Scorers. If your implementation cannot efficiently determine that it should exhaust, it is recommended that you check for that value in each call to this method. </p>
<p><b>NOTE:</b> after the iterator has exhausted you should not call this method, as it may result in unpredicted behavior. </p>
<p>&lt;since&gt;2.9&lt;/since&gt; </p>
<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a4ea4804a0dd948a55077e1dde86b0983">Lucene.Net.Search.DocIdSetIterator</a>.</p>
<p>Definition at line <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html#l00083">83</a> of file <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html">ScoreCachingWrappingScorer.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ad1c095e5fe822cf5c6e8cd950db9233b"></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.ScoreCachingWrappingScorer.DocID </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>Returns the following: </p>
<ul>
<li>
-1 or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_score_caching_wrapping_scorer.html#a3c5f4e0b3364a4dff94d412d66a12eb2" title="Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if t...">NextDoc()</a> or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_score_caching_wrapping_scorer.html#a3946232af4ebdb74a13a9688c15d79ec" title="Advances to the first beyond the current whose document number is greater than or equal to target...">Advance(int)</a> were not called yet. </li>
<li>
<a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if the iterator has exhausted. </li>
<li>
Otherwise it should return the doc ID it is currently on. </li>
</ul>
</p>
<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a617cbe6c07c261cc2cc86ad3d255152f">Lucene.Net.Search.DocIdSetIterator</a>.</p>
<p>Definition at line <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html#l00068">68</a> of file <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html">ScoreCachingWrappingScorer.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a3c5f4e0b3364a4dff94d412d66a12eb2"></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.ScoreCachingWrappingScorer.NextDoc </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>Advances to the next document in the set and returns the doc it is currently on, or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if there are no more docs in the set.<br/>
</p>
<p><b>NOTE:</b> after the iterator has exhausted you should not call this method, as it may result in unpredicted behavior.</p>
<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a70f16616e044ffd57b07dbc426c34e0d">Lucene.Net.Search.DocIdSetIterator</a>.</p>
<p>Definition at line <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html#l00073">73</a> of file <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html">ScoreCachingWrappingScorer.cs</a>.</p>
</div>
</div>
<a class="anchor" id="acdca3448163a225d42cdd1d5b4817943"></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.ScoreCachingWrappingScorer.Score </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_collector.html">Collector</a>&#160;</td>
<td class="paramname"><em>collector</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>max</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>firstDocID</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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert: Collects matching documents in a range. Hook for optimization. Note, <em>firstDocID</em> is added to ensure that <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a70f16616e044ffd57b07dbc426c34e0d" title="Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if t...">DocIdSetIterator.NextDoc()</a> was called before this method. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">collector</td><td>The collector to which all matching documents are passed. </td></tr>
<tr><td class="paramname">max</td><td>Do not score documents past this. </td></tr>
<tr><td class="paramname">firstDocID</td><td>The first document ID (ensures <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a70f16616e044ffd57b07dbc426c34e0d" title="Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if t...">DocIdSetIterator.NextDoc()</a> is called before this method. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if more matching documents may remain. </dd></dl>
<p>Reimplemented from <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html#afbae24b7b3053a0e489fc8f18664f6a9">Lucene.Net.Search.Scorer</a>.</p>
<p>Definition at line <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html#l00046">46</a> of file <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html">ScoreCachingWrappingScorer.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a9e97a6adf12ee75252149d660f59c822"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">override float Lucene.Net.Search.ScoreCachingWrappingScorer.Score </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>Returns the score of the current document matching the query. Initially invalid, until <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a70f16616e044ffd57b07dbc426c34e0d" title="Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if t...">DocIdSetIterator.NextDoc()</a> or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a4ea4804a0dd948a55077e1dde86b0983" title="Advances to the first beyond the current whose document number is greater than or equal to target...">DocIdSetIterator.Advance(int)</a> is called the first time, or when called from within <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_collector.html#a125e477dc1b59bbdb22fa71eeac4fd8b" title="Called once for every document matching a query, with the unbased document number.">Collector.Collect(int)</a>. </p>
<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html#a9e45575b3a407f5cb224b51405893c3f">Lucene.Net.Search.Scorer</a>.</p>
<p>Definition at line <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html#l00056">56</a> of file <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html">ScoreCachingWrappingScorer.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aafbeaf50b7519faa21d3e6a2cf969d52"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">override void Lucene.Net.Search.ScoreCachingWrappingScorer.Score </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_collector.html">Collector</a>&#160;</td>
<td class="paramname"><em>collector</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>Scores and collects all matching documents.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">collector</td><td>The collector to which all matching documents are passed. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html#a23e72c598a4e46bd528ed19b272fc687">Lucene.Net.Search.Scorer</a>.</p>
<p>Definition at line <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html#l00078">78</a> of file <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html">ScoreCachingWrappingScorer.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="a27577948e59058e39f4e7c175fedd8f8"></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_similarity.html">Similarity</a> Lucene.Net.Search.ScoreCachingWrappingScorer.Similarity</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html#l00052">52</a> of file <a class="el" href="_score_caching_wrapping_scorer_8cs_source.html">ScoreCachingWrappingScorer.cs</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>core/Search/<a class="el" href="_score_caching_wrapping_scorer_8cs_source.html">ScoreCachingWrappingScorer.cs</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 3 2013 02:12:57 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>