public abstract class DocTermOrdsRangeFilter extends Filter
FieldCache
).
Like FieldCacheRangeFilter
, this is just a specialized range query versus
using a TermRangeQuery with DocTermOrdsRewriteMethod
: it will only do
two ordinal to term lookups.
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
abstract DocIdSet |
getDocIdSet(AtomicReaderContext context,
Bits acceptDocs)
This method is implemented for each data type
|
String |
getField()
Returns the field name for this filter
|
BytesRef |
getLowerVal()
Returns the lower value of this range filter
|
BytesRef |
getUpperVal()
Returns the upper value of this range filter
|
int |
hashCode() |
boolean |
includesLower()
Returns
true if the lower endpoint is inclusive |
boolean |
includesUpper()
Returns
true if the upper endpoint is inclusive |
static DocTermOrdsRangeFilter |
newBytesRefRange(String field,
BytesRef lowerVal,
BytesRef upperVal,
boolean includeLower,
boolean includeUpper)
Creates a BytesRef range filter using
FieldCache.getTermsIndex(org.apache.lucene.index.AtomicReader, java.lang.String) . |
String |
toString() |
public abstract DocIdSet getDocIdSet(AtomicReaderContext context, Bits acceptDocs) throws IOException
getDocIdSet
in class Filter
context
- a AtomicReaderContext
instance opened on the index currently
searched on. Note, it is likely that the provided reader info does not
represent the whole underlying index i.e. if the index has more than
one segment the given reader only represents a single segment.
The provided context is always an atomic context, so you can call
AtomicReader.fields()
on the context's reader, for example.acceptDocs
- Bits that represent the allowable docs to match (typically deleted docs
but possibly filtering other documents)null
should be returned if
the filter doesn't accept any documents otherwise internal optimization might not apply
in the case an empty DocIdSet
is returned.IOException
public static DocTermOrdsRangeFilter newBytesRefRange(String field, BytesRef lowerVal, BytesRef upperVal, boolean includeLower, boolean includeUpper)
FieldCache.getTermsIndex(org.apache.lucene.index.AtomicReader, java.lang.String)
. This works with all
fields containing zero or one term in the field. The range can be half-open by setting one
of the values to null
.public String getField()
public boolean includesLower()
true
if the lower endpoint is inclusivepublic boolean includesUpper()
true
if the upper endpoint is inclusivepublic BytesRef getLowerVal()
public BytesRef getUpperVal()
Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.