Package org.apache.lucene.index
Class SegmentMerger
java.lang.Object
org.apache.lucene.index.SegmentMerger
The SegmentMerger class combines two or more Segments, represented by an
IndexReader, into a single Segment. Call the merge method to combine the
segments.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Codecprivate final IOContextprivate final Directoryprivate final FieldInfos.Builder(package private) final MergeState -
Constructor Summary
ConstructorsConstructorDescriptionSegmentMerger(List<CodecReader> readers, SegmentInfo segmentInfo, InfoStream infoStream, Directory dir, FieldInfos.FieldNumbers fieldNumbers, IOContext context) -
Method Summary
Modifier and TypeMethodDescription(package private) MergeStatemerge()Merges the readers into the directory passed to the constructorprivate voidmergeDocValues(SegmentWriteState segmentWriteState) voidprivate intMerge stored fields from each of the segments into the new one.private voidmergeNorms(SegmentWriteState segmentWriteState) private voidmergePoints(SegmentWriteState segmentWriteState) private voidmergeTerms(SegmentWriteState segmentWriteState, NormsProducer norms) private intMerge the TermVectors from each of the segments into the new one.(package private) booleanTrue if any merging should happen
-
Field Details
-
directory
-
codec
-
context
-
mergeState
-
fieldInfosBuilder
-
-
Constructor Details
-
SegmentMerger
SegmentMerger(List<CodecReader> readers, SegmentInfo segmentInfo, InfoStream infoStream, Directory dir, FieldInfos.FieldNumbers fieldNumbers, IOContext context) throws IOException - Throws:
IOException
-
-
Method Details
-
shouldMerge
boolean shouldMerge()True if any merging should happen -
merge
Merges the readers into the directory passed to the constructor- Returns:
- The number of documents that were merged
- Throws:
CorruptIndexException- if the index is corruptIOException- if there is a low-level IO error
-
mergeDocValues
- Throws:
IOException
-
mergePoints
- Throws:
IOException
-
mergeNorms
- Throws:
IOException
-
mergeFieldInfos
public void mergeFieldInfos() -
mergeFields
Merge stored fields from each of the segments into the new one.- Returns:
- The number of documents in all of the readers
- Throws:
CorruptIndexException- if the index is corruptIOException- if there is a low-level IO error
-
mergeVectors
Merge the TermVectors from each of the segments into the new one.- Throws:
IOException- if there is a low-level IO error
-
mergeTerms
private void mergeTerms(SegmentWriteState segmentWriteState, NormsProducer norms) throws IOException - Throws:
IOException
-