Class IntervalFacets.FacetInterval

java.lang.Object
org.apache.solr.request.IntervalFacets.FacetInterval
Enclosing class:
IntervalFacets

public static class IntervalFacets.FacetInterval extends Object
Helper class to match and count of documents in specified intervals
  • Constructor Summary

    Constructors
    Constructor
    Description
    FacetInterval(SchemaField schemaField, String startStr, String endStr, boolean includeLower, boolean includeUpper, String key)
    Constructor that accepts already parsed values of start and end.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
     
     
    org.apache.solr.request.IntervalFacets.IntervalCompareResult
    includes(long value)
    Method to use to check whether a document should be counted for an interval or not.
     
    void
    updateContext(org.apache.lucene.index.SortedDocValues sdv)
    Update the ordinals based on the current reader.
    void
    updateContext(org.apache.lucene.index.SortedSetDocValues sdv)
    Update the ordinals based on the current reader.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • FacetInterval

      public FacetInterval(SchemaField schemaField, String startStr, String endStr, boolean includeLower, boolean includeUpper, String key)
      Constructor that accepts already parsed values of start and end. This constructor can only be used with numeric field types.
      Parameters:
      schemaField - schemaField for this range
      startStr - String representation of the start value of this interval. Can be a "*".
      endStr - String representation of the end value of this interval. Can be a "*".
      includeLower - Indicates weather this interval should include values equal to start
      includeUpper - Indicates weather this interval should include values equal to end
      key - String key of this interval
  • Method Details

    • updateContext

      public void updateContext(org.apache.lucene.index.SortedDocValues sdv) throws IOException
      Update the ordinals based on the current reader. This method (or updateContext(SortedSetDocValues) depending on the DocValues type) needs to be called for every reader before includes(long) is called on any document of the reader.
      Parameters:
      sdv - DocValues for the current reader
      Throws:
      IOException
    • updateContext

      public void updateContext(org.apache.lucene.index.SortedSetDocValues sdv) throws IOException
      Update the ordinals based on the current reader. This method (or updateContext(SortedDocValues) depending on the DocValues type) needs to be called for every reader before includes(long) is called on any document of the reader.
      Parameters:
      sdv - DocValues for the current reader
      Throws:
      IOException
    • includes

      public org.apache.solr.request.IntervalFacets.IntervalCompareResult includes(long value)
      Method to use to check whether a document should be counted for an interval or not. Before calling this method on a multi-valued and/or non-numeric field make sure you call updateContext(SortedDocValues) or updateContext(SortedSetDocValues) (depending on the DV type). It is OK to call this method without other previous calls on numeric fields (with NumericDocValues)
      Parameters:
      value - For numeric single value fields, this value should be the long representation of the value of the document in the specified field. For multi-valued and/or non-numeric fields, value should be the ordinal of the term in the current segment
      Returns:
      • IntervalFacets.IntervalCompareResult.INCLUDED if the value is included in the interval
      • IntervalFacets.IntervalCompareResult.GREATER_THAN_END if the value is greater than endLimit
      • IntervalFacets.IntervalCompareResult.LOWER_THAN_START if the value is lower than startLimit
      See Also:
      • NumericUtils.floatToSortableInt(float)
      • NumericUtils.doubleToSortableLong(double)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getCount

      public int getCount()
      Returns:
      The count of document that matched this interval
    • getKey

      public String getKey()
      Returns:
      Human readable key for this interval