|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.lucene.index.Fields
org.apache.lucene.index.MultiFields
public final class MultiFields
Exposes flex API, merged from flex API of sub-segments.
This is useful when you're interacting with an IndexReader
implementation that consists of sequential
sub-readers (eg DirectoryReader
or MultiReader
).
NOTE: for composite readers, you'll get better
performance by gathering the sub readers using
IndexReader.getTopReaderContext()
to get the
atomic leaves and then operate per-AtomicReader,
instead of using this class.
Field Summary |
---|
Fields inherited from class org.apache.lucene.index.Fields |
---|
EMPTY_ARRAY |
Constructor Summary | |
---|---|
MultiFields(Fields[] subs,
ReaderSlice[] subSlices)
|
Method Summary | |
---|---|
static Fields |
getFields(IndexReader reader)
Returns a single Fields instance for this
reader, merging fields/terms/docs/positions on the
fly. |
static Collection<String> |
getIndexedFields(IndexReader reader)
|
static Bits |
getLiveDocs(IndexReader reader)
|
static FieldInfos |
getMergedFieldInfos(IndexReader reader)
Call this to get the (merged) FieldInfos for a composite reader. |
static DocsEnum |
getTermDocsEnum(IndexReader r,
Bits liveDocs,
String field,
BytesRef term)
Returns DocsEnum for the specified field &
term. |
static DocsEnum |
getTermDocsEnum(IndexReader r,
Bits liveDocs,
String field,
BytesRef term,
int flags)
Returns DocsEnum for the specified field &
term, with control over whether freqs are required. |
static DocsAndPositionsEnum |
getTermPositionsEnum(IndexReader r,
Bits liveDocs,
String field,
BytesRef term)
Returns DocsAndPositionsEnum for the specified
field & term. |
static DocsAndPositionsEnum |
getTermPositionsEnum(IndexReader r,
Bits liveDocs,
String field,
BytesRef term,
int flags)
Returns DocsAndPositionsEnum for the specified
field & term, with control over whether offsets and payloads are
required. |
static Terms |
getTerms(IndexReader r,
String field)
This method may return null if the field does not exist. |
FieldsEnum |
iterator()
Returns an iterator that will step through all fields names. |
int |
size()
Returns the number of terms for all fields, or -1 if this measure isn't stored by the codec. |
Terms |
terms(String field)
Get the Terms for this field. |
static long |
totalTermFreq(IndexReader r,
String field,
BytesRef text)
|
Methods inherited from class org.apache.lucene.index.Fields |
---|
getUniqueTermCount |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public MultiFields(Fields[] subs, ReaderSlice[] subSlices)
Method Detail |
---|
public static Fields getFields(IndexReader reader) throws IOException
Fields
instance for this
reader, merging fields/terms/docs/positions on the
fly. This method will return null if the reader
has no postings.
NOTE: this is a slow way to access postings. It's better to get the sub-readers and iterate through them yourself.
IOException
public static Bits getLiveDocs(IndexReader reader)
public static Terms getTerms(IndexReader r, String field) throws IOException
IOException
public static DocsEnum getTermDocsEnum(IndexReader r, Bits liveDocs, String field, BytesRef term) throws IOException
DocsEnum
for the specified field &
term. This will return null if the field or term does
not exist.
IOException
public static DocsEnum getTermDocsEnum(IndexReader r, Bits liveDocs, String field, BytesRef term, int flags) throws IOException
DocsEnum
for the specified field &
term, with control over whether freqs are required.
Some codecs may be able to optimize their
implementation when freqs are not required. This will
return null if the field or term does not exist. See TermsEnum.docs(Bits,DocsEnum,int)
.
IOException
public static DocsAndPositionsEnum getTermPositionsEnum(IndexReader r, Bits liveDocs, String field, BytesRef term) throws IOException
DocsAndPositionsEnum
for the specified
field & term. This will return null if the field or
term does not exist or positions were not indexed.
IOException
getTermPositionsEnum(IndexReader, Bits, String, BytesRef, int)
public static DocsAndPositionsEnum getTermPositionsEnum(IndexReader r, Bits liveDocs, String field, BytesRef term, int flags) throws IOException
DocsAndPositionsEnum
for the specified
field & term, with control over whether offsets and payloads are
required. Some codecs may be able to optimize
their implementation when offsets and/or payloads are not
required. This will return null if the field or term does not
exist or positions were not indexed. See TermsEnum.docsAndPositions(Bits,DocsAndPositionsEnum,int)
.
IOException
public FieldsEnum iterator() throws IOException
Fields
iterator
in class Fields
IOException
public Terms terms(String field) throws IOException
Fields
Terms
for this field. This will return
null if the field does not exist.
terms
in class Fields
IOException
public int size()
Fields
size
in class Fields
public static long totalTermFreq(IndexReader r, String field, BytesRef text) throws IOException
IOException
public static FieldInfos getMergedFieldInfos(IndexReader reader)
NOTE: the returned field numbers will likely not
correspond to the actual field numbers in the underlying
readers, and codec metadata (FieldInfo.getAttribute(String)
will be unavailable.
public static Collection<String> getIndexedFields(IndexReader reader)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |