Class IntervalQuery
java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.queries.intervals.IntervalQuery
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
Scores are bounded to between 0 and 1. For higher contributions, wrap the query in a BoostQuery
-
Constructor Summary
ConstructorDescriptionIntervalQuery
(String field, IntervalsSource intervalsSource) Create a new IntervalQueryIntervalQuery
(String field, IntervalsSource intervalsSource, float pivot) Create a new IntervalQuery with a scoring pivotIntervalQuery
(String field, IntervalsSource intervalsSource, float pivot, float exp) Create a new IntervalQuery with a scoring pivot and exponent -
Method Summary
Modifier and TypeMethodDescriptioncreateWeight
(IndexSearcher searcher, ScoreMode scoreMode, float boost) boolean
getField()
The field to queryint
hashCode()
void
visit
(QueryVisitor visitor) Methods inherited from class org.apache.lucene.search.Query
classHash, rewrite, sameClassAs, toString
-
Constructor Details
-
IntervalQuery
Create a new IntervalQuery- Parameters:
field
- the field to queryintervalsSource
- anIntervalsSource
to retrieve intervals from
-
IntervalQuery
Create a new IntervalQuery with a scoring pivot- Parameters:
field
- the field to queryintervalsSource
- anIntervalsSource
to retrieve intervals frompivot
- the sloppy frequency value at which the score will be 0.5, must be within (0, +Infinity)
-
IntervalQuery
Create a new IntervalQuery with a scoring pivot and exponent- Parameters:
field
- the field to queryintervalsSource
- anIntervalsSource
to retrieve intervals frompivot
- 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)
-
-
Method Details
-
getField
The field to query -
toString
-
createWeight
public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException - Overrides:
createWeight
in classQuery
- Throws:
IOException
-
visit
-
equals
-
hashCode
public int hashCode()
-