Class 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 Lucene.Net.Index.IndexWriter.AddDocuments(System.Collections.Generic.IEnumerable{System.Collections.Generic.IEnumerable{Lucene.Net.Index.IIndexableField}},Lucene.Net.Analysis.Analyzer) or Lucene.Net.Index.IndexWriter.UpdateDocuments(Lucene.Net.Index.Term,System.Collections.Generic.IEnumerable{System.Collections.Generic.IEnumerable{Lucene.Net.Index.IIndexableField}},Lucene.Net.Analysis.Analyzer), which means it can easily break up such document groups.
Inheritance
Inherited Members
Assembly: Lucene.Net.dll
Syntax
public class MultiPassIndexSplitter
Methods
Name | Description |
---|---|
Main(String[]) | |
Split(LuceneVersion, IndexReader, Directory[], Boolean) | Split source index into multiple parts. |