java.lang.Object | |
↳ | org.apache.lucene.index.MultiPassIndexSplitter |
This tool splits input index into multiple equal parts. The method employed
here uses addIndexes(IndexReader[])
where the input data
comes from the input index with artificially applied deletes to the document
id-s that fall outside the selected partition.
Note 1: Deletes are only applied to a buffered list of deleted docs and don't affect the source index - this tool works also with read-only indexes.
Note 2: the disadvantage of this tool is that source index needs to be read as many times as there are parts to be created, hence the name of this tool.
NOTE: this tool is unaware of documents added
atomically via addDocuments(Collection
or updateDocuments(Term, Collection
, which means it can easily
break up such document groups.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
MultiPassIndexSplitter.FakeDeleteIndexReader | This class pretends that it can write deletions to the underlying index. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Split source index into multiple parts.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Split source index into multiple parts.
input | source index, can be read-only, can have deletions, can have multiple segments (or multiple readers). |
---|---|
outputs | list of directories where the output parts will be stored. |
seq | if true, then the source index will be split into equal increasing ranges of document id-s. If false, source document id-s will be assigned in a deterministic round-robin fashion to one of the output splits. |
IOException |
---|