﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class DoubleRangeFacetCounts
   | Apache Lucene.NET 4.8.0-beta00013 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class DoubleRangeFacetCounts
   | Apache Lucene.NET 4.8.0-beta00013 Documentation ">
    <meta name="generator" content="docfx 2.56.2.0">
    
    <link rel="shortcut icon" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/logo/favicon.ico">
    <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.css">
    <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.css">
    <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.css">
    <meta property="docfx:navrel" content="toc.html">
    <meta property="docfx:tocrel" content="facet/toc.html">
    
    <meta property="docfx:rel" content="https://lucenenet.apache.org/docs/4.8.0-beta00009/">
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <span id="forkongithub"><a href="https://github.com/apache/lucenenet" target="_blank">Fork me on GitHub</a></span>
    <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="/">
                <img id="logo" class="svg" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/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">
            <ul class="level0 breadcrumb">
                <li>
                    <a href="https://lucenenet.apache.org/docs/4.8.0-beta00009/">API</a>
                     <span id="breadcrumb">
                        <ul class="breadcrumb">
                          <li></li>
                        </ul>
                    </span>   
                </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.Facet.Range.DoubleRangeFacetCounts">
  
  
  <h1 id="Lucene_Net_Facet_Range_DoubleRangeFacetCounts" data-uid="Lucene.Net.Facet.Range.DoubleRangeFacetCounts" class="text-break">Class DoubleRangeFacetCounts
  </h1>
  <div class="markdown level0 summary"><p><a class="xref" href="Lucene.Net.Facet.Facets.html">Facets</a> implementation that computes counts for
 dynamic double ranges from a provided <span class="xref">Lucene.Net.Queries.Function.ValueSource</span>, 
 using <span class="xref">Lucene.Net.Queries.Function.FunctionValues.DoubleVal(System.Int32)</span> or <span class="xref">Lucene.Net.Queries.Function.FunctionValues.DoubleVal(System.Int32,System.Double[])</span>.  Use
 this for dimensions that change in real-time (e.g. a
 relative time based dimension like &quot;Past day&quot;, &quot;Past 2
 days&quot;, etc.) or that change for each request (e.g.
 distance from the user&apos;s location, &quot;&lt; 1 km&quot;, &quot;&lt; 2 km&quot;,
 etc.).</p>
<p> If you had indexed your field using <a class="xref" href="https://lucenenet.apache.org/docs/4.8.0-beta00013/api/core/Lucene.Net.Documents.SingleDocValuesField.html">SingleDocValuesField</a> 
then pass <span class="xref">Lucene.Net.Queries.Function.ValueSources.SingleFieldSource</span>
as the <span class="xref">Lucene.Net.Queries.Function.ValueSource</span>; if you used 
<a class="xref" href="https://lucenenet.apache.org/docs/4.8.0-beta00013/api/core/Lucene.Net.Documents.DoubleDocValuesField.html">DoubleDocValuesField</a> then pass 
<span class="xref">Lucene.Net.Queries.Function.ValueSources.DoubleFieldSource</span> (this is the default used when you
pass just a the field name).

@lucene.experimental 
</p>
</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.Facet.Facets.html">Facets</a></div>
    <div class="level2"><a class="xref" href="Lucene.Net.Facet.Range.RangeFacetCounts.html">RangeFacetCounts</a></div>
    <div class="level3"><span class="xref">DoubleRangeFacetCounts</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Lucene.Net.Facet.Range.RangeFacetCounts.html#Lucene_Net_Facet_Range_RangeFacetCounts_m_ranges">RangeFacetCounts.m_ranges</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Facet.Range.RangeFacetCounts.html#Lucene_Net_Facet_Range_RangeFacetCounts_m_counts">RangeFacetCounts.m_counts</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Facet.Range.RangeFacetCounts.html#Lucene_Net_Facet_Range_RangeFacetCounts_m_fastMatchFilter">RangeFacetCounts.m_fastMatchFilter</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Facet.Range.RangeFacetCounts.html#Lucene_Net_Facet_Range_RangeFacetCounts_m_field">RangeFacetCounts.m_field</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Facet.Range.RangeFacetCounts.html#Lucene_Net_Facet_Range_RangeFacetCounts_m_totCount">RangeFacetCounts.m_totCount</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Facet.Range.RangeFacetCounts.html#Lucene_Net_Facet_Range_RangeFacetCounts_GetTopChildren_System_Int32_System_String_System_String___">RangeFacetCounts.GetTopChildren(Int32, String, String[])</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Facet.Range.RangeFacetCounts.html#Lucene_Net_Facet_Range_RangeFacetCounts_GetSpecificValue_System_String_System_String___">RangeFacetCounts.GetSpecificValue(String, String[])</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Facet.Range.RangeFacetCounts.html#Lucene_Net_Facet_Range_RangeFacetCounts_GetAllDims_System_Int32_">RangeFacetCounts.GetAllDims(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.Facet.Range.html">Lucene.Net.Facet.Range</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.Facet.dll</h6>
  <h5 id="Lucene_Net_Facet_Range_DoubleRangeFacetCounts_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class DoubleRangeFacetCounts : RangeFacetCounts</code></pre>
  </div>
  <h3 id="constructors">Constructors
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Facet_Range_DoubleRangeFacetCounts__ctor_System_String_Lucene_Net_Facet_FacetsCollector_Lucene_Net_Facet_Range_DoubleRange___.md&amp;value=---%0Auid%3A%20Lucene.Net.Facet.Range.DoubleRangeFacetCounts.%23ctor(System.String%2CLucene.Net.Facet.FacetsCollector%2CLucene.Net.Facet.Range.DoubleRange%5B%5D)%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/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Facet/Range/DoubleRangeFacetCounts.cs/#L60">View Source</a>
  </span>
  <a id="Lucene_Net_Facet_Range_DoubleRangeFacetCounts__ctor_" data-uid="Lucene.Net.Facet.Range.DoubleRangeFacetCounts.#ctor*"></a>
  <h4 id="Lucene_Net_Facet_Range_DoubleRangeFacetCounts__ctor_System_String_Lucene_Net_Facet_FacetsCollector_Lucene_Net_Facet_Range_DoubleRange___" data-uid="Lucene.Net.Facet.Range.DoubleRangeFacetCounts.#ctor(System.String,Lucene.Net.Facet.FacetsCollector,Lucene.Net.Facet.Range.DoubleRange[])">DoubleRangeFacetCounts(String, FacetsCollector, DoubleRange[])</h4>
  <div class="markdown level1 summary"><p>Create <a class="xref" href="Lucene.Net.Facet.Range.RangeFacetCounts.html">RangeFacetCounts</a>, using 
<span class="xref">Lucene.Net.Queries.Function.ValueSources.DoubleFieldSource</span> from the specified field. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public DoubleRangeFacetCounts(string field, FacetsCollector hits, params DoubleRange[] ranges)</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.String</span></td>
        <td><span class="parametername">field</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.Facet.FacetsCollector.html">FacetsCollector</a></td>
        <td><span class="parametername">hits</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.Facet.Range.DoubleRange.html">DoubleRange</a>[]</td>
        <td><span class="parametername">ranges</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-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Facet_Range_DoubleRangeFacetCounts__ctor_System_String_Lucene_Net_Queries_Function_ValueSource_Lucene_Net_Facet_FacetsCollector_Lucene_Net_Facet_Range_DoubleRange___.md&amp;value=---%0Auid%3A%20Lucene.Net.Facet.Range.DoubleRangeFacetCounts.%23ctor(System.String%2CLucene.Net.Queries.Function.ValueSource%2CLucene.Net.Facet.FacetsCollector%2CLucene.Net.Facet.Range.DoubleRange%5B%5D)%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/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Facet/Range/DoubleRangeFacetCounts.cs/#L69">View Source</a>
  </span>
  <a id="Lucene_Net_Facet_Range_DoubleRangeFacetCounts__ctor_" data-uid="Lucene.Net.Facet.Range.DoubleRangeFacetCounts.#ctor*"></a>
  <h4 id="Lucene_Net_Facet_Range_DoubleRangeFacetCounts__ctor_System_String_Lucene_Net_Queries_Function_ValueSource_Lucene_Net_Facet_FacetsCollector_Lucene_Net_Facet_Range_DoubleRange___" data-uid="Lucene.Net.Facet.Range.DoubleRangeFacetCounts.#ctor(System.String,Lucene.Net.Queries.Function.ValueSource,Lucene.Net.Facet.FacetsCollector,Lucene.Net.Facet.Range.DoubleRange[])">DoubleRangeFacetCounts(String, ValueSource, FacetsCollector, DoubleRange[])</h4>
  <div class="markdown level1 summary"><p>Create <a class="xref" href="Lucene.Net.Facet.Range.RangeFacetCounts.html">RangeFacetCounts</a>, using the provided
<span class="xref">Lucene.Net.Queries.Function.ValueSource</span>. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public DoubleRangeFacetCounts(string field, ValueSource valueSource, FacetsCollector hits, params DoubleRange[] ranges)</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.String</span></td>
        <td><span class="parametername">field</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">Lucene.Net.Queries.Function.ValueSource</span></td>
        <td><span class="parametername">valueSource</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.Facet.FacetsCollector.html">FacetsCollector</a></td>
        <td><span class="parametername">hits</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.Facet.Range.DoubleRange.html">DoubleRange</a>[]</td>
        <td><span class="parametername">ranges</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-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Facet_Range_DoubleRangeFacetCounts__ctor_System_String_Lucene_Net_Queries_Function_ValueSource_Lucene_Net_Facet_FacetsCollector_Lucene_Net_Search_Filter_Lucene_Net_Facet_Range_DoubleRange___.md&amp;value=---%0Auid%3A%20Lucene.Net.Facet.Range.DoubleRangeFacetCounts.%23ctor(System.String%2CLucene.Net.Queries.Function.ValueSource%2CLucene.Net.Facet.FacetsCollector%2CLucene.Net.Search.Filter%2CLucene.Net.Facet.Range.DoubleRange%5B%5D)%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/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Facet/Range/DoubleRangeFacetCounts.cs/#L81">View Source</a>
  </span>
  <a id="Lucene_Net_Facet_Range_DoubleRangeFacetCounts__ctor_" data-uid="Lucene.Net.Facet.Range.DoubleRangeFacetCounts.#ctor*"></a>
  <h4 id="Lucene_Net_Facet_Range_DoubleRangeFacetCounts__ctor_System_String_Lucene_Net_Queries_Function_ValueSource_Lucene_Net_Facet_FacetsCollector_Lucene_Net_Search_Filter_Lucene_Net_Facet_Range_DoubleRange___" data-uid="Lucene.Net.Facet.Range.DoubleRangeFacetCounts.#ctor(System.String,Lucene.Net.Queries.Function.ValueSource,Lucene.Net.Facet.FacetsCollector,Lucene.Net.Search.Filter,Lucene.Net.Facet.Range.DoubleRange[])">DoubleRangeFacetCounts(String, ValueSource, FacetsCollector, Filter, DoubleRange[])</h4>
  <div class="markdown level1 summary"><p>Create <a class="xref" href="Lucene.Net.Facet.Range.RangeFacetCounts.html">RangeFacetCounts</a>, using the provided
<span class="xref">Lucene.Net.Queries.Function.ValueSource</span>, and using the provided Filter as
a fastmatch: only documents passing the filter are
checked for the matching ranges.  The filter must be
random access (implement <a class="xref" href="https://lucenenet.apache.org/docs/4.8.0-beta00013/api/core/Lucene.Net.Search.DocIdSet.html#Lucene_Net_Search_DocIdSet_Bits">Bits</a>). </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public DoubleRangeFacetCounts(string field, ValueSource valueSource, FacetsCollector hits, Filter fastMatchFilter, params DoubleRange[] ranges)</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.String</span></td>
        <td><span class="parametername">field</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">Lucene.Net.Queries.Function.ValueSource</span></td>
        <td><span class="parametername">valueSource</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.Facet.FacetsCollector.html">FacetsCollector</a></td>
        <td><span class="parametername">hits</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">Lucene.Net.Search.Filter</span></td>
        <td><span class="parametername">fastMatchFilter</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="Lucene.Net.Facet.Range.DoubleRange.html">DoubleRange</a>[]</td>
        <td><span class="parametername">ranges</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
</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-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Facet_Range_DoubleRangeFacetCounts.md&amp;value=---%0Auid%3A%20Lucene.Net.Facet.Range.DoubleRangeFacetCounts%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/apache/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Facet/Range/DoubleRangeFacetCounts.cs/#L54" 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 The Apache Software Foundation, Licensed under the <a href='http://www.apache.org/licenses/LICENSE-2.0' target='_blank'>Apache License, Version 2.0</a><br> <small>Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation. <br>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</small>
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.js"></script>
    <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.js"></script>
  </body>
</html>
