Package org.apache.lucene.misc.index
Class IndexRearranger
java.lang.Object
org.apache.lucene.misc.index.IndexRearranger
Copy and rearrange index according to document selectors, from input dir to output dir. Length of
documentSelectors determines how many segments there will be
TODO: another possible (faster) approach to do this is to manipulate FlushPolicy and MergePolicy at indexing time to create small desired segments first and merge them accordingly for details please see: https://markmail.org/message/lbtdntclpnocmfuf
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classstatic interfaceSelect document within a CodecReader -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final IndexWriterConfigprotected final List<IndexRearranger.DocumentSelector>protected final Directoryprotected final Directory -
Constructor Summary
ConstructorsConstructorDescriptionIndexRearranger(Directory input, Directory output, IndexWriterConfig config, List<IndexRearranger.DocumentSelector> documentSelectors) Constructor -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidaddOneSegment(IndexWriter writer, IndexReader reader, IndexRearranger.DocumentSelector selector) voidexecute()
-
Field Details
-
input
-
output
-
config
-
documentSelectors
-
-
Constructor Details
-
IndexRearranger
public IndexRearranger(Directory input, Directory output, IndexWriterConfig config, List<IndexRearranger.DocumentSelector> documentSelectors) Constructor- Parameters:
input- input diroutput- output dirconfig- index writer configdocumentSelectors- specify what document is desired in the rearranged index segments, each selector correspond to one segment
-
-
Method Details
-
execute
- Throws:
Exception
-
addOneSegment
private static void addOneSegment(IndexWriter writer, IndexReader reader, IndexRearranger.DocumentSelector selector) throws IOException - Throws:
IOException
-