Package org.apache.lucene.queries.intervals
Intervals queries
This package contains experimental classes to search over intervals within fieldsIntervalsSource
TheIntervalsSource
class can be used to construct proximity
relationships between terms and intervals. They can be built using static methods
in the Intervals
class
Basic intervals
Intervals.term(String)
— Represents a single termIntervals.phrase(java.lang.String...)
— Represents a phraseIntervals.ordered(IntervalsSource...)
— Represents an interval over an ordered set of terms or intervalsIntervals.unordered(IntervalsSource...)
— Represents an interval over an unordered set of terms or intervalsIntervals.or(IntervalsSource...)
— Represents the disjunction of a set of terms or intervals
Filters
Intervals.maxwidth(int, IntervalsSource)
— Filters out intervals that are larger than a set widthIntervals.maxgaps(int, IntervalsSource)
— Filters out intervals that have more than a set number of gaps between their constituent sub-intervalsIntervals.containedBy(IntervalsSource, IntervalsSource)
— Returns intervals that are contained by another intervalIntervals.notContainedBy(IntervalsSource, IntervalsSource)
— Returns intervals that are *not* contained by another intervalIntervals.containing(IntervalsSource, IntervalsSource)
— Returns intervals that contain another intervalIntervals.notContaining(IntervalsSource, IntervalsSource)
— Returns intervals that do not contain another intervalIntervals.nonOverlapping(IntervalsSource, IntervalsSource)
— Returns intervals that do not overlap with another intervalIntervals.notWithin(IntervalsSource, int, IntervalsSource)
— Returns intervals that do not appear within a set number of positions of another interval
IntervalQuery
AnIntervalQuery
takes a field name and an IntervalsSource
,
and matches all documents that contain intervals defined by the source in that field.-
Interface Summary Interface Description IntervalMatchesIterator An extension of MatchesIterator that allows it to be treated as an IntervalIterator This is necessary to get access toIntervalIterator.gaps()
andIntervalIterator.width()
when constructing matches -
Class Summary Class Description FilteredIntervalsSource An IntervalsSource that filters the intervals from another IntervalsSourceIntervalFilter Wraps anIntervalIterator
and passes through those intervals that match theIntervalFilter.accept()
functionIntervalIterator ADocIdSetIterator
that also allows iteration over matching intervals in a document.IntervalQuery A query that retrieves documents containing intervals returned from anIntervalsSource
Static constructor functions for various different sources can be found in theIntervals
class Scores for this query are computed as a function of the sloppy frequency of intervals appearing in a particular document.Intervals Constructor functions forIntervalsSource
types These sources implement minimum-interval algorithms taken from the paper Efficient Optimally Lazy Algorithms for Minimal-Interval Semantics By default, sources that are sensitive to internal gaps (e.g.IntervalsSource A helper class forIntervalQuery
that provides anIntervalIterator
for a given field and segment Static constructor functions for various different sources can be found in theIntervals
class