- java.lang.Object
-
- org.apache.lucene.index.Fields
-
- org.apache.lucene.index.MultiFields
-
- All Implemented Interfaces:
java.lang.Iterable<java.lang.String>
public final class MultiFields extends Fields
Provides a singleFields
term index view over anIndexReader
. This is useful when you're interacting with anIndexReader
implementation that consists of sequential sub-readers (egDirectoryReader
orMultiReader
) and you must treat it as aLeafReader
.NOTE: for composite readers, you'll get better performance by gathering the sub readers using
IndexReader.getContext()
to get the atomic leaves and then operate per-LeafReader, instead of using this class.
-
-
Field Summary
Fields Modifier and Type Field Description private Fields[]
subs
private ReaderSlice[]
subSlices
private java.util.Map<java.lang.String,Terms>
terms
-
Fields inherited from class org.apache.lucene.index.Fields
EMPTY_ARRAY
-
-
Constructor Summary
Constructors Constructor Description MultiFields(Fields[] subs, ReaderSlice[] subSlices)
Sole constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Iterator<java.lang.String>
iterator()
Returns an iterator that will step through all fields names.int
size()
Returns the number of fields or -1 if the number of distinct field names is unknown.Terms
terms(java.lang.String field)
Get theTerms
for this field.
-
-
-
Field Detail
-
subs
private final Fields[] subs
-
subSlices
private final ReaderSlice[] subSlices
-
terms
private final java.util.Map<java.lang.String,Terms> terms
-
-
Constructor Detail
-
MultiFields
public MultiFields(Fields[] subs, ReaderSlice[] subSlices)
Sole constructor.
-
-
Method Detail
-
iterator
public java.util.Iterator<java.lang.String> iterator()
Description copied from class:Fields
Returns an iterator that will step through all fields names. This will not return null.
-
terms
public Terms terms(java.lang.String field) throws java.io.IOException
Description copied from class:Fields
Get theTerms
for this field. This will return null if the field does not exist.
-
size
public int size()
Description copied from class:Fields
Returns the number of fields or -1 if the number of distinct field names is unknown. If >= 0,Fields.iterator()
will return as many field names.
-
-