public final class IntervalQuery extends Query
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:
BoostQuery| Modifier and Type | Class and Description |
|---|---|
private class |
IntervalQuery.IntervalWeight |
| Modifier and Type | Field and Description |
|---|---|
private java.lang.String |
field |
private IntervalsSource |
intervalsSource |
private IntervalScoreFunction |
scoreFunction |
| Modifier | Constructor and Description |
|---|---|
|
IntervalQuery(java.lang.String field,
IntervalsSource intervalsSource)
Create a new IntervalQuery
|
|
IntervalQuery(java.lang.String field,
IntervalsSource intervalsSource,
float pivot)
Create a new IntervalQuery with a scoring pivot
|
|
IntervalQuery(java.lang.String field,
IntervalsSource intervalsSource,
float pivot,
float exp)
Create a new IntervalQuery with a scoring pivot and exponent
|
private |
IntervalQuery(java.lang.String field,
IntervalsSource intervalsSource,
IntervalScoreFunction scoreFunction) |
| Modifier and Type | Method and Description |
|---|---|
Weight |
createWeight(IndexSearcher searcher,
ScoreMode scoreMode,
float boost)
Expert: Constructs an appropriate Weight implementation for this query.
|
boolean |
equals(java.lang.Object o)
Override and implement query instance equivalence properly in a subclass.
|
java.lang.String |
getField()
The field to query
|
int |
hashCode()
Override and implement query hash code properly in a subclass.
|
java.lang.String |
toString(java.lang.String field)
Prints a query to a string, with
field assumed to be the
default field and omitted. |
void |
visit(QueryVisitor visitor)
Recurse through the query tree, visiting any child queries
|
classHash, rewrite, sameClassAs, toStringprivate final java.lang.String field
private final IntervalsSource intervalsSource
private final IntervalScoreFunction scoreFunction
public IntervalQuery(java.lang.String field,
IntervalsSource intervalsSource)
field - the field to queryintervalsSource - an IntervalsSource to retrieve intervals frompublic IntervalQuery(java.lang.String field,
IntervalsSource intervalsSource,
float pivot)
field - the field to queryintervalsSource - an IntervalsSource to retrieve intervals frompivot - the sloppy frequency value at which the score will be 0.5, must be within (0, +Infinity)public IntervalQuery(java.lang.String field,
IntervalsSource intervalsSource,
float pivot,
float exp)
field - the field to queryintervalsSource - an IntervalsSource 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)private IntervalQuery(java.lang.String field,
IntervalsSource intervalsSource,
IntervalScoreFunction scoreFunction)
public java.lang.String getField()
public java.lang.String toString(java.lang.String field)
Queryfield assumed to be the
default field and omitted.public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws java.io.IOException
QueryOnly implemented by primitive queries, which re-write to themselves.
createWeight in class QueryscoreMode - How the produced scorers will be consumed.boost - The boost that is propagated by the parent queries.java.io.IOExceptionpublic void visit(QueryVisitor visitor)
Querypublic boolean equals(java.lang.Object o)
QueryQueryCache works properly.
Typically a query will be equal to another only if it's an instance of
the same class and its document-filtering properties are identical that other
instance. Utility methods are provided for certain repetitive code.equals in class QueryQuery.sameClassAs(Object),
Query.classHash()public int hashCode()
QueryQueryCache works properly.hashCode in class QueryQuery.equals(Object)