Package org.apache.lucene.misc.index
Class IndexRearranger
- java.lang.Object
-
- org.apache.lucene.misc.index.IndexRearranger
-
public class IndexRearranger extends java.lang.Object
Copy and rearrange index according to document selectors, from input dir to output dir. Length of documentSelectors determines how many segments there will beTODO: 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 Classes Modifier and Type Class Description private static class
IndexRearranger.DocSelectorFilteredCodecReader
static interface
IndexRearranger.DocumentSelector
Select document within a CodecReader
-
Field Summary
Fields Modifier and Type Field Description protected IndexWriterConfig
config
protected java.util.List<IndexRearranger.DocumentSelector>
documentSelectors
protected Directory
input
protected Directory
output
-
Constructor Summary
Constructors Constructor Description IndexRearranger(Directory input, Directory output, IndexWriterConfig config, java.util.List<IndexRearranger.DocumentSelector> documentSelectors)
Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static void
addOneSegment(IndexWriter writer, IndexReader reader, IndexRearranger.DocumentSelector selector)
void
execute()
-
-
-
Field Detail
-
input
protected final Directory input
-
output
protected final Directory output
-
config
protected final IndexWriterConfig config
-
documentSelectors
protected final java.util.List<IndexRearranger.DocumentSelector> documentSelectors
-
-
Constructor Detail
-
IndexRearranger
public IndexRearranger(Directory input, Directory output, IndexWriterConfig config, java.util.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 Detail
-
execute
public void execute() throws java.lang.Exception
- Throws:
java.lang.Exception
-
addOneSegment
private static void addOneSegment(IndexWriter writer, IndexReader reader, IndexRearranger.DocumentSelector selector) throws java.io.IOException
- Throws:
java.io.IOException
-
-