Class IntervalQuery


  • public final class IntervalQuery
    extends Query
    A query that retrieves documents containing intervals returned from an IntervalsSource

    Static constructor functions for various different sources can be found in the Intervals class

    Scores for this query are computed as a function of the sloppy frequency of intervals appearing in a particular document. Sloppy frequency is calculated from the number of matching intervals, and their width, with wider intervals contributing lower values. The scores can be adjusted with two optional parameters:

    • pivot - the sloppy frequency value at which the overall score of the document will equal 0.5. The default value is 1
    • exp - higher values of this parameter make the function grow more slowly below the pivot and faster higher than the pivot. The default value is 1
    Optimal values for both pivot and exp depend on the type of queries and corpus of documents being queried.

    Scores are bounded to between 0 and 1. For higher contributions, wrap the query in a BoostQuery

    • Constructor Detail

      • IntervalQuery

        public IntervalQuery​(String field,
                             IntervalsSource intervalsSource)
        Create a new IntervalQuery
        Parameters:
        field - the field to query
        intervalsSource - an IntervalsSource to retrieve intervals from
      • IntervalQuery

        public IntervalQuery​(String field,
                             IntervalsSource intervalsSource,
                             float pivot)
        Create a new IntervalQuery with a scoring pivot
        Parameters:
        field - the field to query
        intervalsSource - an IntervalsSource to retrieve intervals from
        pivot - the sloppy frequency value at which the score will be 0.5, must be within (0, +Infinity)
      • IntervalQuery

        public IntervalQuery​(String field,
                             IntervalsSource intervalsSource,
                             float pivot,
                             float exp)
        Create a new IntervalQuery with a scoring pivot and exponent
        Parameters:
        field - the field to query
        intervalsSource - an IntervalsSource to retrieve intervals from
        pivot - the sloppy frequency value at which the score will be 0.5, must be within (0, +Infinity)
        exp - exponent, higher values make the function grow slower before 'pivot' and faster after 'pivot', must be in (0, +Infinity)