| <!DOCTYPE html> |
| <!--[if IE]><![endif]--> |
| <html> |
| |
| <head> |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| <title>Class FieldComparer<T> |
| | Apache Lucene.NET 4.8.0 Documentation </title> |
| <meta name="viewport" content="width=device-width"> |
| <meta name="title" content="Class FieldComparer<T> |
| | Apache Lucene.NET 4.8.0 Documentation "> |
| <meta name="generator" content="docfx 2.47.0.0"> |
| |
| <link rel="shortcut icon" href="../../logo/favicon.ico"> |
| <link rel="stylesheet" href="../../styles/docfx.vendor.css"> |
| <link rel="stylesheet" href="../../styles/docfx.css"> |
| <link rel="stylesheet" href="../../styles/main.css"> |
| <meta property="docfx:navrel" content="../../toc.html"> |
| <meta property="docfx:tocrel" content="../toc.html"> |
| |
| <meta property="docfx:rel" content="../../"> |
| |
| </head> |
| <body data-spy="scroll" data-target="#affix" data-offset="120"> |
| <div id="wrapper"> |
| <header> |
| |
| <nav id="autocollapse" class="navbar ng-scope" role="navigation"> |
| <div class="container"> |
| <div class="navbar-header"> |
| <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar"> |
| <span class="sr-only">Toggle navigation</span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| </button> |
| |
| <a class="navbar-brand" href="../../index.html"> |
| <img id="logo" class="svg" src="../../logo/lucene-net-color.png" alt=""> |
| </a> |
| </div> |
| <div class="collapse navbar-collapse" id="navbar"> |
| <form class="navbar-form navbar-right" role="search" id="search"> |
| <div class="form-group"> |
| <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off"> |
| </div> |
| </form> |
| </div> |
| </div> |
| </nav> |
| |
| <div class="subnav navbar navbar-default"> |
| <div class="container hide-when-search" id="breadcrumb"> |
| <ul class="breadcrumb"> |
| <li></li> |
| </ul> |
| </div> |
| </div> |
| </header> |
| <div class="container body-content"> |
| |
| <div id="search-results"> |
| <div class="search-list"></div> |
| <div class="sr-items"> |
| <p><i class="glyphicon glyphicon-refresh index-loading"></i></p> |
| </div> |
| <ul id="pagination"></ul> |
| </div> |
| </div> |
| <div role="main" class="container body-content hide-when-search"> |
| |
| <div class="sidenav hide-when-search"> |
| <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a> |
| <div class="sidetoggle collapse" id="sidetoggle"> |
| <div id="sidetoc"></div> |
| </div> |
| </div> |
| <div class="article row grid-right"> |
| <div class="col-md-10"> |
| <article class="content wrap" id="_content" data-uid="Lucene.Net.Search.FieldComparer`1"> |
| |
| |
| <h1 id="Lucene_Net_Search_FieldComparer_1" data-uid="Lucene.Net.Search.FieldComparer`1" class="text-break">Class FieldComparer<T> |
| </h1> |
| <div class="markdown level0 summary"><p>Expert: a <a class="xref" href="Lucene.Net.Search.FieldComparer.html">FieldComparer</a> compares hits so as to determine their |
| sort order when collecting the top results with |
| <a class="xref" href="Lucene.Net.Search.TopFieldCollector.html">TopFieldCollector</a>. The concrete public <a class="xref" href="Lucene.Net.Search.FieldComparer.html">FieldComparer</a> |
| classes here correspond to the <a class="xref" href="Lucene.Net.Search.SortField.html">SortField</a> types.</p> |
| <p>This API is designed to achieve high performance |
| sorting, by exposing a tight interaction with |
| <a class="xref" href="Lucene.Net.Search.FieldValueHitQueue.html">FieldValueHitQueue</a> as it visits hits. Whenever a hit is |
| competitive, it's enrolled into a virtual slot, which is |
| an <span class="xref">System.Int32</span> ranging from 0 to numHits-1. The |
| <a class="xref" href="Lucene.Net.Search.FieldComparer.html">FieldComparer</a> is made aware of segment transitions |
| during searching in case any internal state it's tracking |
| needs to be recomputed during these transitions.</p> |
| |
| <p>A comparer must define these functions:</p> |
| |
| <p><ul><li><a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_Compare_System_Int32_System_Int32_">Compare(Int32, Int32)</a> Compare a hit at 'slot a' |
| with hit 'slot b'.</li><li><a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_SetBottom_System_Int32_">SetBottom(Int32)</a>This method is called by |
| <a class="xref" href="Lucene.Net.Search.FieldValueHitQueue.html">FieldValueHitQueue</a> to notify the |
| <a class="xref" href="Lucene.Net.Search.FieldComparer.html">FieldComparer</a> of the current weakest ("bottom") |
| slot. Note that this slot may not hold the weakest |
| value according to your comparer, in cases where |
| your comparer is not the primary one (ie, is only |
| used to break ties from the comparers before it).</li><li><a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_CompareBottom_System_Int32_">CompareBottom(Int32)</a>Compare a new hit (docID) |
| against the "weakest" (bottom) entry in the queue.</li><li><a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_SetTopValue_System_Object_">SetTopValue(Object)</a>This method is called by |
| <a class="xref" href="Lucene.Net.Search.TopFieldCollector.html">TopFieldCollector</a> to notify the |
| <a class="xref" href="Lucene.Net.Search.FieldComparer.html">FieldComparer</a> of the top most value, which is |
| used by future calls to <a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_CompareTop_System_Int32_">CompareTop(Int32)</a>.</li><li><a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_CompareTop_System_Int32_">CompareTop(Int32)</a>Compare a new hit (docID) |
| against the top value previously set by a call to |
| <a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_SetTopValue_System_Object_">SetTopValue(Object)</a>.</li><li><a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_Copy_System_Int32_System_Int32_">Copy(Int32, Int32)</a>Installs a new hit into the |
| priority queue. The <a class="xref" href="Lucene.Net.Search.FieldValueHitQueue.html">FieldValueHitQueue</a> |
| calls this method when a new hit is competitive.</li><li><a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_SetNextReader_Lucene_Net_Index_AtomicReaderContext_">SetNextReader(AtomicReaderContext)</a>Invoked |
| when the search is switching to the next segment. |
| You may need to update internal state of the |
| comparer, for example retrieving new values from |
| the <a class="xref" href="Lucene.Net.Search.IFieldCache.html">IFieldCache</a>.</li><li><a class="xref" href="Lucene.Net.Search.FieldComparer.html#Lucene_Net_Search_FieldComparer_Item_System_Int32_">Item[Int32]</a>Return the sort value stored in |
| the specified slot. This is only called at the end |
| of the search, in order to populate |
| <a class="xref" href="Lucene.Net.Search.FieldDoc.html#Lucene_Net_Search_FieldDoc_Fields">Fields</a> when returning the top results.</li></ul> |
| <p> |
| <div class="lucene-block lucene-experimental">This is a Lucene.NET EXPERIMENTAL API, use at your own risk</div></div> |
| <div class="markdown level0 conceptual"></div> |
| <div class="inheritance"> |
| <h5>Inheritance</h5> |
| <div class="level0"><span class="xref">System.Object</span></div> |
| <div class="level1"><a class="xref" href="Lucene.Net.Search.FieldComparer.html">FieldComparer</a></div> |
| <div class="level2"><span class="xref">FieldComparer<T></span></div> |
| <div class="level3"><a class="xref" href="Lucene.Net.Search.FieldComparer.DocComparer.html">FieldComparer.DocComparer</a></div> |
| <div class="level3"><a class="xref" href="Lucene.Net.Search.FieldComparer.NumericComparer-1.html">FieldComparer.NumericComparer<T></a></div> |
| <div class="level3"><a class="xref" href="Lucene.Net.Search.FieldComparer.RelevanceComparer.html">FieldComparer.RelevanceComparer</a></div> |
| <div class="level3"><a class="xref" href="Lucene.Net.Search.FieldComparer.TermOrdValComparer.html">FieldComparer.TermOrdValComparer</a></div> |
| <div class="level3"><a class="xref" href="Lucene.Net.Search.FieldComparer.TermValComparer.html">FieldComparer.TermValComparer</a></div> |
| </div> |
| <div class="inheritedMembers"> |
| <h5>Inherited Members</h5> |
| <div> |
| <a class="xref" href="Lucene.Net.Search.FieldComparer.html#Lucene_Net_Search_FieldComparer_SetScorer_Lucene_Net_Search_Scorer_">FieldComparer.SetScorer(Scorer)</a> |
| </div> |
| <div> |
| <a class="xref" href="Lucene.Net.Search.FieldComparer.html#Lucene_Net_Search_FieldComparer_Item_System_Int32_">FieldComparer.Item[Int32]</a> |
| </div> |
| <div> |
| <span class="xref">System.Object.Equals(System.Object)</span> |
| </div> |
| <div> |
| <span class="xref">System.Object.Equals(System.Object, System.Object)</span> |
| </div> |
| <div> |
| <span class="xref">System.Object.GetHashCode()</span> |
| </div> |
| <div> |
| <span class="xref">System.Object.GetType()</span> |
| </div> |
| <div> |
| <span class="xref">System.Object.MemberwiseClone()</span> |
| </div> |
| <div> |
| <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span> |
| </div> |
| <div> |
| <span class="xref">System.Object.ToString()</span> |
| </div> |
| </div> |
| <h6><strong>Namespace</strong>: <a class="xref" href="../Lucene.Net.TestFramework/Lucene.Net.Search.html">Lucene.Net.Search</a></h6> |
| <h6><strong>Assembly</strong>: Lucene.Net.dll</h6> |
| <h5 id="Lucene_Net_Search_FieldComparer_1_syntax">Syntax</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">public abstract class FieldComparer<T> : FieldComparer</code></pre> |
| </div> |
| <h5 class="typeParameters">Type Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="parametername">T</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <h3 id="methods">Methods |
| </h3> |
| <span class="small pull-right mobile-hide"> |
| <span class="divider">|</span> |
| <a href="https://github.com/apache/lucenenet/new/docs-4.8.0-beta00007/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FieldComparer_1_Compare_System_Int32_System_Int32_.md&value=---%0Auid%3A%20Lucene.Net.Search.FieldComparer%601.Compare(System.Int32%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> |
| </span> |
| <span class="small pull-right mobile-hide"> |
| <a href="https://github.com/Shazwazza/lucenenet/blob/docs-update-jan2020/src/Lucene.Net/Search/FieldComparator.cs/#L102">View Source</a> |
| </span> |
| <a id="Lucene_Net_Search_FieldComparer_1_Compare_" data-uid="Lucene.Net.Search.FieldComparer`1.Compare*"></a> |
| <h4 id="Lucene_Net_Search_FieldComparer_1_Compare_System_Int32_System_Int32_" data-uid="Lucene.Net.Search.FieldComparer`1.Compare(System.Int32,System.Int32)">Compare(Int32, Int32)</h4> |
| <div class="markdown level1 summary"><p>Compare hit at <code data-dev-comment-type="paramref" class="paramref">slot1</code> with hit at <code data-dev-comment-type="paramref" class="paramref">slot2</code>.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">public abstract override int Compare(int slot1, int slot2)</code></pre> |
| </div> |
| <h5 class="parameters">Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Int32</span></td> |
| <td><span class="parametername">slot1</span></td> |
| <td><p>first slot to compare </p> |
| </td> |
| </tr> |
| <tr> |
| <td><span class="xref">System.Int32</span></td> |
| <td><span class="parametername">slot2</span></td> |
| <td><p>second slot to compare </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="returns">Returns</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Int32</span></td> |
| <td><p>any N < 0 if <code data-dev-comment-type="paramref" class="paramref">slot2</code>'s value is sorted after |
| <code data-dev-comment-type="paramref" class="paramref">slot1</code>, any N > 0 if the <code data-dev-comment-type="paramref" class="paramref">slot2</code>'s value is sorted before |
| <code data-dev-comment-type="paramref" class="paramref">slot1</code> and 0 if they are equal </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="overrides">Overrides</h5> |
| <div><a class="xref" href="Lucene.Net.Search.FieldComparer.html#Lucene_Net_Search_FieldComparer_Compare_System_Int32_System_Int32_">FieldComparer.Compare(Int32, Int32)</a></div> |
| <span class="small pull-right mobile-hide"> |
| <span class="divider">|</span> |
| <a href="https://github.com/apache/lucenenet/new/docs-4.8.0-beta00007/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FieldComparer_1_CompareBottom_System_Int32_.md&value=---%0Auid%3A%20Lucene.Net.Search.FieldComparer%601.CompareBottom(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> |
| </span> |
| <span class="small pull-right mobile-hide"> |
| <a href="https://github.com/Shazwazza/lucenenet/blob/docs-update-jan2020/src/Lucene.Net/Search/FieldComparator.cs/#L137">View Source</a> |
| </span> |
| <a id="Lucene_Net_Search_FieldComparer_1_CompareBottom_" data-uid="Lucene.Net.Search.FieldComparer`1.CompareBottom*"></a> |
| <h4 id="Lucene_Net_Search_FieldComparer_1_CompareBottom_System_Int32_" data-uid="Lucene.Net.Search.FieldComparer`1.CompareBottom(System.Int32)">CompareBottom(Int32)</h4> |
| <div class="markdown level1 summary"><p>Compare the bottom of the queue with this doc. This will |
| only invoked after <a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_SetBottom_System_Int32_">SetBottom(Int32)</a> has been called. This |
| should return the same result as |
| <a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_Compare_System_Int32_System_Int32_">Compare(Int32, Int32)</a> as if bottom were slot1 and the new |
| document were slot 2.</p> |
| <p>For a search that hits many results, this method |
| will be the hotspot (invoked by far the most |
| frequently).</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">public abstract override int CompareBottom(int doc)</code></pre> |
| </div> |
| <h5 class="parameters">Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Int32</span></td> |
| <td><span class="parametername">doc</span></td> |
| <td><p>Doc that was hit </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="returns">Returns</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Int32</span></td> |
| <td><p>Any N < 0 if the doc's value is sorted after |
| the bottom entry (not competitive), any N > 0 if the |
| doc's value is sorted before the bottom entry and 0 if |
| they are equal. </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="overrides">Overrides</h5> |
| <div><a class="xref" href="Lucene.Net.Search.FieldComparer.html#Lucene_Net_Search_FieldComparer_CompareBottom_System_Int32_">FieldComparer.CompareBottom(Int32)</a></div> |
| <span class="small pull-right mobile-hide"> |
| <span class="divider">|</span> |
| <a href="https://github.com/apache/lucenenet/new/docs-4.8.0-beta00007/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FieldComparer_1_CompareTop_System_Int32_.md&value=---%0Auid%3A%20Lucene.Net.Search.FieldComparer%601.CompareTop(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> |
| </span> |
| <span class="small pull-right mobile-hide"> |
| <a href="https://github.com/Shazwazza/lucenenet/blob/docs-update-jan2020/src/Lucene.Net/Search/FieldComparator.cs/#L152">View Source</a> |
| </span> |
| <a id="Lucene_Net_Search_FieldComparer_1_CompareTop_" data-uid="Lucene.Net.Search.FieldComparer`1.CompareTop*"></a> |
| <h4 id="Lucene_Net_Search_FieldComparer_1_CompareTop_System_Int32_" data-uid="Lucene.Net.Search.FieldComparer`1.CompareTop(System.Int32)">CompareTop(Int32)</h4> |
| <div class="markdown level1 summary"><p>Compare the top value with this doc. This will |
| only invoked after <a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_SetTopValue_System_Object_">SetTopValue(Object)</a> has been called. This |
| should return the same result as |
| <a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_Compare_System_Int32_System_Int32_">Compare(Int32, Int32)</a> as if topValue were slot1 and the new |
| document were slot 2. This is only called for searches that |
| use SearchAfter (deep paging).</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">public abstract override int CompareTop(int doc)</code></pre> |
| </div> |
| <h5 class="parameters">Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Int32</span></td> |
| <td><span class="parametername">doc</span></td> |
| <td><p>Doc that was hit </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="returns">Returns</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Int32</span></td> |
| <td><p>Any N < 0 if the doc's value is sorted after |
| the bottom entry (not competitive), any N > 0 if the |
| doc's value is sorted before the bottom entry and 0 if |
| they are equal. </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="overrides">Overrides</h5> |
| <div><a class="xref" href="Lucene.Net.Search.FieldComparer.html#Lucene_Net_Search_FieldComparer_CompareTop_System_Int32_">FieldComparer.CompareTop(Int32)</a></div> |
| <span class="small pull-right mobile-hide"> |
| <span class="divider">|</span> |
| <a href="https://github.com/apache/lucenenet/new/docs-4.8.0-beta00007/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FieldComparer_1_CompareValues__0__0_.md&value=---%0Auid%3A%20Lucene.Net.Search.FieldComparer%601.CompareValues(%600%2C%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> |
| </span> |
| <span class="small pull-right mobile-hide"> |
| <a href="https://github.com/Shazwazza/lucenenet/blob/docs-update-jan2020/src/Lucene.Net/Search/FieldComparator.cs/#L183">View Source</a> |
| </span> |
| <a id="Lucene_Net_Search_FieldComparer_1_CompareValues_" data-uid="Lucene.Net.Search.FieldComparer`1.CompareValues*"></a> |
| <h4 id="Lucene_Net_Search_FieldComparer_1_CompareValues__0__0_" data-uid="Lucene.Net.Search.FieldComparer`1.CompareValues(`0,`0)">CompareValues(T, T)</h4> |
| <div class="markdown level1 summary"><p>Returns -1 if first is less than second. Default |
| impl to assume the type implements <span class="xref">System.IComparable<T></span> and |
| invoke <span class="xref">System.IComparable<T>.CompareTo(T)</span>; be sure to override this method if |
| your FieldComparer's type isn't a <span class="xref">System.IComparable<T></span> or |
| if your values may sometimes be <code>null</code></p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">public virtual int CompareValues(T first, T second)</code></pre> |
| </div> |
| <h5 class="parameters">Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">T</span></td> |
| <td><span class="parametername">first</span></td> |
| <td></td> |
| </tr> |
| <tr> |
| <td><span class="xref">T</span></td> |
| <td><span class="parametername">second</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="returns">Returns</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Int32</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <span class="small pull-right mobile-hide"> |
| <span class="divider">|</span> |
| <a href="https://github.com/apache/lucenenet/new/docs-4.8.0-beta00007/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FieldComparer_1_CompareValues_System_Object_System_Object_.md&value=---%0Auid%3A%20Lucene.Net.Search.FieldComparer%601.CompareValues(System.Object%2CSystem.Object)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> |
| </span> |
| <span class="small pull-right mobile-hide"> |
| <a href="https://github.com/Shazwazza/lucenenet/blob/docs-update-jan2020/src/Lucene.Net/Search/FieldComparator.cs/#L208">View Source</a> |
| </span> |
| <a id="Lucene_Net_Search_FieldComparer_1_CompareValues_" data-uid="Lucene.Net.Search.FieldComparer`1.CompareValues*"></a> |
| <h4 id="Lucene_Net_Search_FieldComparer_1_CompareValues_System_Object_System_Object_" data-uid="Lucene.Net.Search.FieldComparer`1.CompareValues(System.Object,System.Object)">CompareValues(Object, Object)</h4> |
| <div class="markdown level1 summary"><p>Returns -1 if first is less than second. Default |
| impl to assume the type implements <span class="xref">System.IComparable<T></span> and |
| invoke <span class="xref">System.IComparable<T>.CompareTo(T)</span>; be sure to override this method if |
| your FieldComparer's type isn't a <span class="xref">System.IComparable<T></span> or |
| if your values may sometimes be <code>null</code></p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">public override int CompareValues(object first, object second)</code></pre> |
| </div> |
| <h5 class="parameters">Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Object</span></td> |
| <td><span class="parametername">first</span></td> |
| <td></td> |
| </tr> |
| <tr> |
| <td><span class="xref">System.Object</span></td> |
| <td><span class="parametername">second</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="returns">Returns</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Int32</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="overrides">Overrides</h5> |
| <div><a class="xref" href="Lucene.Net.Search.FieldComparer.html#Lucene_Net_Search_FieldComparer_CompareValues_System_Object_System_Object_">FieldComparer.CompareValues(Object, Object)</a></div> |
| <span class="small pull-right mobile-hide"> |
| <span class="divider">|</span> |
| <a href="https://github.com/apache/lucenenet/new/docs-4.8.0-beta00007/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FieldComparer_1_Copy_System_Int32_System_Int32_.md&value=---%0Auid%3A%20Lucene.Net.Search.FieldComparer%601.Copy(System.Int32%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> |
| </span> |
| <span class="small pull-right mobile-hide"> |
| <a href="https://github.com/Shazwazza/lucenenet/blob/docs-update-jan2020/src/Lucene.Net/Search/FieldComparator.cs/#L162">View Source</a> |
| </span> |
| <a id="Lucene_Net_Search_FieldComparer_1_Copy_" data-uid="Lucene.Net.Search.FieldComparer`1.Copy*"></a> |
| <h4 id="Lucene_Net_Search_FieldComparer_1_Copy_System_Int32_System_Int32_" data-uid="Lucene.Net.Search.FieldComparer`1.Copy(System.Int32,System.Int32)">Copy(Int32, Int32)</h4> |
| <div class="markdown level1 summary"><p>This method is called when a new hit is competitive. |
| You should copy any state associated with this document |
| that will be required for future comparisons, into the |
| specified slot.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">public abstract override void Copy(int slot, int doc)</code></pre> |
| </div> |
| <h5 class="parameters">Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Int32</span></td> |
| <td><span class="parametername">slot</span></td> |
| <td><p>Which slot to copy the hit to </p> |
| </td> |
| </tr> |
| <tr> |
| <td><span class="xref">System.Int32</span></td> |
| <td><span class="parametername">doc</span></td> |
| <td><p>DocID relative to current reader </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="overrides">Overrides</h5> |
| <div><a class="xref" href="Lucene.Net.Search.FieldComparer.html#Lucene_Net_Search_FieldComparer_Copy_System_Int32_System_Int32_">FieldComparer.Copy(Int32, Int32)</a></div> |
| <span class="small pull-right mobile-hide"> |
| <span class="divider">|</span> |
| <a href="https://github.com/apache/lucenenet/new/docs-4.8.0-beta00007/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FieldComparer_1_SetBottom_System_Int32_.md&value=---%0Auid%3A%20Lucene.Net.Search.FieldComparer%601.SetBottom(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> |
| </span> |
| <span class="small pull-right mobile-hide"> |
| <a href="https://github.com/Shazwazza/lucenenet/blob/docs-update-jan2020/src/Lucene.Net/Search/FieldComparator.cs/#L111">View Source</a> |
| </span> |
| <a id="Lucene_Net_Search_FieldComparer_1_SetBottom_" data-uid="Lucene.Net.Search.FieldComparer`1.SetBottom*"></a> |
| <h4 id="Lucene_Net_Search_FieldComparer_1_SetBottom_System_Int32_" data-uid="Lucene.Net.Search.FieldComparer`1.SetBottom(System.Int32)">SetBottom(Int32)</h4> |
| <div class="markdown level1 summary"><p>Set the bottom slot, ie the "weakest" (sorted last) |
| entry in the queue. When <a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_CompareBottom_System_Int32_">CompareBottom(Int32)</a> is |
| called, you should compare against this slot. This |
| will always be called before <a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_CompareBottom_System_Int32_">CompareBottom(Int32)</a>.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">public abstract override void SetBottom(int slot)</code></pre> |
| </div> |
| <h5 class="parameters">Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Int32</span></td> |
| <td><span class="parametername">slot</span></td> |
| <td><p>the currently weakest (sorted last) slot in the queue </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="overrides">Overrides</h5> |
| <div><a class="xref" href="Lucene.Net.Search.FieldComparer.html#Lucene_Net_Search_FieldComparer_SetBottom_System_Int32_">FieldComparer.SetBottom(Int32)</a></div> |
| <span class="small pull-right mobile-hide"> |
| <span class="divider">|</span> |
| <a href="https://github.com/apache/lucenenet/new/docs-4.8.0-beta00007/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FieldComparer_1_SetNextReader_Lucene_Net_Index_AtomicReaderContext_.md&value=---%0Auid%3A%20Lucene.Net.Search.FieldComparer%601.SetNextReader(Lucene.Net.Index.AtomicReaderContext)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> |
| </span> |
| <span class="small pull-right mobile-hide"> |
| <a href="https://github.com/Shazwazza/lucenenet/blob/docs-update-jan2020/src/Lucene.Net/Search/FieldComparator.cs/#L174">View Source</a> |
| </span> |
| <a id="Lucene_Net_Search_FieldComparer_1_SetNextReader_" data-uid="Lucene.Net.Search.FieldComparer`1.SetNextReader*"></a> |
| <h4 id="Lucene_Net_Search_FieldComparer_1_SetNextReader_Lucene_Net_Index_AtomicReaderContext_" data-uid="Lucene.Net.Search.FieldComparer`1.SetNextReader(Lucene.Net.Index.AtomicReaderContext)">SetNextReader(AtomicReaderContext)</h4> |
| <div class="markdown level1 summary"><p>Set a new <a class="xref" href="Lucene.Net.Index.AtomicReaderContext.html">AtomicReaderContext</a>. All subsequent docIDs are relative to |
| the current reader (you must add docBase if you need to |
| map it to a top-level docID).</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">public abstract override FieldComparer SetNextReader(AtomicReaderContext context)</code></pre> |
| </div> |
| <h5 class="parameters">Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><a class="xref" href="Lucene.Net.Index.AtomicReaderContext.html">AtomicReaderContext</a></td> |
| <td><span class="parametername">context</span></td> |
| <td><p>Current reader context </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="returns">Returns</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><a class="xref" href="Lucene.Net.Search.FieldComparer.html">FieldComparer</a></td> |
| <td><p>The comparer to use for this segment; most |
| comparers can just return "this" to reuse the same |
| comparer across segments </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="overrides">Overrides</h5> |
| <div><a class="xref" href="Lucene.Net.Search.FieldComparer.html#Lucene_Net_Search_FieldComparer_SetNextReader_Lucene_Net_Index_AtomicReaderContext_">FieldComparer.SetNextReader(AtomicReaderContext)</a></div> |
| <h5 class="exceptions">Exceptions</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Condition</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.IO.IOException</span></td> |
| <td><p>If there is a low-level IO error </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <span class="small pull-right mobile-hide"> |
| <span class="divider">|</span> |
| <a href="https://github.com/apache/lucenenet/new/docs-4.8.0-beta00007/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FieldComparer_1_SetTopValue_System_Object_.md&value=---%0Auid%3A%20Lucene.Net.Search.FieldComparer%601.SetTopValue(System.Object)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> |
| </span> |
| <span class="small pull-right mobile-hide"> |
| <a href="https://github.com/Shazwazza/lucenenet/blob/docs-update-jan2020/src/Lucene.Net/Search/FieldComparator.cs/#L119">View Source</a> |
| </span> |
| <a id="Lucene_Net_Search_FieldComparer_1_SetTopValue_" data-uid="Lucene.Net.Search.FieldComparer`1.SetTopValue*"></a> |
| <h4 id="Lucene_Net_Search_FieldComparer_1_SetTopValue_System_Object_" data-uid="Lucene.Net.Search.FieldComparer`1.SetTopValue(System.Object)">SetTopValue(Object)</h4> |
| <div class="markdown level1 summary"><p>Record the top value, for future calls to |
| <a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_CompareTop_System_Int32_">CompareTop(Int32)</a>. This is only called for searches that |
| use SearchAfter (deep paging), and is called before any |
| calls to <a class="xref" href="Lucene.Net.Search.FieldComparer-1.html#Lucene_Net_Search_FieldComparer_1_SetNextReader_Lucene_Net_Index_AtomicReaderContext_">SetNextReader(AtomicReaderContext)</a>.</p> |
| </div> |
| <div class="markdown level1 conceptual"></div> |
| <h5 class="decalaration">Declaration</h5> |
| <div class="codewrapper"> |
| <pre><code class="lang-csharp hljs">public abstract override void SetTopValue(object value)</code></pre> |
| </div> |
| <h5 class="parameters">Parameters</h5> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Type</th> |
| <th>Name</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><span class="xref">System.Object</span></td> |
| <td><span class="parametername">value</span></td> |
| <td></td> |
| </tr> |
| </tbody> |
| </table> |
| <h5 class="overrides">Overrides</h5> |
| <div><a class="xref" href="Lucene.Net.Search.FieldComparer.html#Lucene_Net_Search_FieldComparer_SetTopValue_System_Object_">FieldComparer.SetTopValue(Object)</a></div> |
| </article> |
| </div> |
| |
| <div class="hidden-sm col-md-2" role="complementary"> |
| <div class="sideaffix"> |
| <div class="contribution"> |
| <ul class="nav"> |
| <li> |
| <a href="https://github.com/apache/lucenenet/new/docs-4.8.0-beta00007/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FieldComparer_1.md&value=---%0Auid%3A%20Lucene.Net.Search.FieldComparer%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a> |
| </li> |
| <li> |
| <a href="https://github.com/Shazwazza/lucenenet/blob/docs-update-jan2020/src/Lucene.Net/Search/FieldComparator.cs/#L92" class="contribution-link">View Source</a> |
| </li> |
| </ul> |
| </div> |
| <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix"> |
| <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> --> |
| </nav> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <footer> |
| <div class="grad-bottom"></div> |
| <div class="footer"> |
| <div class="container"> |
| <span class="pull-right"> |
| <a href="#top">Back to top</a> |
| </span> |
| Copyright © 2020 Licensed to the Apache Software Foundation (ASF) |
| |
| </div> |
| </div> |
| </footer> |
| </div> |
| |
| <script type="text/javascript" src="../../styles/docfx.vendor.js"></script> |
| <script type="text/javascript" src="../../styles/docfx.js"></script> |
| <script type="text/javascript" src="../../styles/main.js"></script> |
| </body> |
| </html> |