Package org.apache.lucene.queries.intervals
Intervals queries
This package contains experimental classes to search over intervals within fields
IntervalsSource
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 term.Intervals.phrase(java.lang.String...)
— Represents a phrase.Intervals.analyzedText(java.lang.String, org.apache.lucene.analysis.Analyzer, java.lang.String, int, boolean)
— Represents a phrase (or an unordered sequence) of tokens resulting from an analysis of a given text.Intervals.ordered(IntervalsSource...)
— Represents an interval over an ordered set of terms or intervals.Intervals.unordered(IntervalsSource...)
— Represents an interval over an unordered set of terms or intervals.Intervals.or(IntervalsSource...)
— Represents the disjunction of a set of terms or intervals.Intervals.wildcard(org.apache.lucene.util.BytesRef)
— Represents an suffix wildcard (any prefix-matching term from the index).
Filters
Intervals.maxwidth(int, IntervalsSource)
— Filters out intervals that are larger than a set width.Intervals.maxgaps(int, IntervalsSource)
— Filters out intervals that have more than a set number of gaps between their constituent sub-intervals.Intervals.containedBy(IntervalsSource, IntervalsSource)
— Returns intervals that are contained by another interval.Intervals.notContainedBy(IntervalsSource, IntervalsSource)
— Returns intervals that are *not* contained by another interval.Intervals.containing(IntervalsSource, IntervalsSource)
— Returns intervals that contain another interval.Intervals.notContaining(IntervalsSource, IntervalsSource)
— Returns intervals that do not contain another interval.Intervals.nonOverlapping(IntervalsSource, IntervalsSource)
— Returns intervals that do not overlap with another interval.Intervals.notWithin(IntervalsSource, int, IntervalsSource)
— Returns intervals that do not appear within a set number of positions of another interval.
Intervals
class contains more advanced filters,
please refer to the documentation of that class.
IntervalQuery
AnIntervalQuery
takes a field name and an IntervalsSource
, and matches all documents that contain
intervals defined by the source in that field.
Interval query support in query parsers
Lucene's StandardQueryParser
(from the queryparser
module) supports interval
function expressions.
-
Interface Summary Interface Description IntervalMatchesIterator An extension of MatchesIterator that allows it to be treated as an IntervalIterator -
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
Intervals Factory functions for creatinginterval sources
.IntervalsSource A helper class forIntervalQuery
that provides anIntervalIterator
for a given field and segment