Package org.apache.lucene.index
Class MultiTerms
- java.lang.Object
-
- org.apache.lucene.index.Terms
-
- org.apache.lucene.index.MultiTerms
-
public final class MultiTerms extends Terms
Exposes flex API, merged from flex API of sub-segments.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.index.Terms
EMPTY_ARRAY
-
-
Constructor Summary
Constructors Constructor Description MultiTerms(Terms[] subs, ReaderSlice[] subSlices)Sole constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetDocCount()Returns the number of documents that have at least one term for this field, or -1 if this measure isn't stored by the codec.BytesRefgetMax()Returns the largest term (in lexicographic order) in the field.BytesRefgetMin()Returns the smallest term (in lexicographic order) in the field.ReaderSlice[]getSubSlices()Expert: returns pointers to the sub-readers corresponding to the Terms being merged.Terms[]getSubTerms()Expert: returns the Terms being merged.longgetSumDocFreq()Returns the sum ofTermsEnum.docFreq()for all terms in this field, or -1 if this measure isn't stored by the codec.longgetSumTotalTermFreq()Returns the sum ofTermsEnum.totalTermFreq()for all terms in this field, or -1 if this measure isn't stored by the codec (or if this fields omits term freq and positions).booleanhasFreqs()Returns true if documents in this field store per-document term frequency (PostingsEnum.freq()).booleanhasOffsets()Returns true if documents in this field store offsets.booleanhasPayloads()Returns true if documents in this field store payloads.booleanhasPositions()Returns true if documents in this field store positions.TermsEnumintersect(CompiledAutomaton compiled, BytesRef startTerm)Returns a TermsEnum that iterates over all terms and documents that are accepted by the providedCompiledAutomaton.TermsEnumiterator()Returns an iterator that will step through all terms.longsize()Returns the number of terms for this field, or -1 if this measure isn't stored by the codec.
-
-
-
Constructor Detail
-
MultiTerms
public MultiTerms(Terms[] subs, ReaderSlice[] subSlices) throws IOException
Sole constructor.- Parameters:
subs- TheTermsinstances of all sub-readers.subSlices- A parallel array (matchingsubs) describing the sub-reader slices.- Throws:
IOException
-
-
Method Detail
-
getSubTerms
public Terms[] getSubTerms()
Expert: returns the Terms being merged.
-
getSubSlices
public ReaderSlice[] getSubSlices()
Expert: returns pointers to the sub-readers corresponding to the Terms being merged.
-
intersect
public TermsEnum intersect(CompiledAutomaton compiled, BytesRef startTerm) throws IOException
Description copied from class:TermsReturns a TermsEnum that iterates over all terms and documents that are accepted by the providedCompiledAutomaton. If thestartTermis provided then the returned enum will only return terms> startTerm, but you still must call next() first to get to the first term. Note that the providedstartTermmust be accepted by the automaton.This is an expert low-level API and will only work for
NORMALcompiled automata. To handle any compiled automata you should instead useCompiledAutomaton.getTermsEnum(org.apache.lucene.index.Terms)instead.NOTE: the returned TermsEnum cannot seek
.NOTE: the terms dictionary is free to return arbitrary terms as long as the resulted visited docs is the same. E.g.,
BlockTreeTermsWritercreates auto-prefix terms during indexing to reduce the number of terms visited.- Overrides:
intersectin classTerms- Throws:
IOException
-
getMin
public BytesRef getMin() throws IOException
Description copied from class:TermsReturns the smallest term (in lexicographic order) in the field. Note that, just like other term measures, this measure does not take deleted documents into account. This returns null when there are no terms.- Overrides:
getMinin classTerms- Throws:
IOException
-
getMax
public BytesRef getMax() throws IOException
Description copied from class:TermsReturns the largest term (in lexicographic order) in the field. Note that, just like other term measures, this measure does not take deleted documents into account. This returns null when there are no terms.- Overrides:
getMaxin classTerms- Throws:
IOException
-
iterator
public TermsEnum iterator() throws IOException
Description copied from class:TermsReturns an iterator that will step through all terms. This method will not return null.- Specified by:
iteratorin classTerms- Throws:
IOException
-
size
public long size()
Description copied from class:TermsReturns the number of terms for this field, or -1 if this measure isn't stored by the codec. Note that, just like other term measures, this measure does not take deleted documents into account.
-
getSumTotalTermFreq
public long getSumTotalTermFreq() throws IOExceptionDescription copied from class:TermsReturns the sum ofTermsEnum.totalTermFreq()for all terms in this field, or -1 if this measure isn't stored by the codec (or if this fields omits term freq and positions). Note that, just like other term measures, this measure does not take deleted documents into account.- Specified by:
getSumTotalTermFreqin classTerms- Throws:
IOException
-
getSumDocFreq
public long getSumDocFreq() throws IOExceptionDescription copied from class:TermsReturns the sum ofTermsEnum.docFreq()for all terms in this field, or -1 if this measure isn't stored by the codec. Note that, just like other term measures, this measure does not take deleted documents into account.- Specified by:
getSumDocFreqin classTerms- Throws:
IOException
-
getDocCount
public int getDocCount() throws IOExceptionDescription copied from class:TermsReturns the number of documents that have at least one term for this field, or -1 if this measure isn't stored by the codec. Note that, just like other term measures, this measure does not take deleted documents into account.- Specified by:
getDocCountin classTerms- Throws:
IOException
-
hasFreqs
public boolean hasFreqs()
Description copied from class:TermsReturns true if documents in this field store per-document term frequency (PostingsEnum.freq()).
-
hasOffsets
public boolean hasOffsets()
Description copied from class:TermsReturns true if documents in this field store offsets.- Specified by:
hasOffsetsin classTerms
-
hasPositions
public boolean hasPositions()
Description copied from class:TermsReturns true if documents in this field store positions.- Specified by:
hasPositionsin classTerms
-
hasPayloads
public boolean hasPayloads()
Description copied from class:TermsReturns true if documents in this field store payloads.- Specified by:
hasPayloadsin classTerms
-
-