Namespace Lucene.Net.Index
Misc index tools and index support.
Classes
CompoundFileExtractor
Command-line tool for extracting sub-files out of a compound file.
IndexSplitter
Command-line tool that enables listing segments in an index, copying specific segments to another index, and deleting segments from an index.
This tool does file-level copying of segments files. This means it's unable to split apart a single segment into multiple segments. For example if your index is a single segment, this tool won't help. Also, it does basic file-level copying (using simple Stream) so it will not work with non FSDirectory Directory impls.
You can easily accidentally remove segments from your index so be careful!
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(IEnumerable<IEnumerable<IIndexableField>>, Analyzer) or UpdateDocuments(Term, IEnumerable<IEnumerable<IIndexableField>>, Analyzer), which means it can easily break up such document groups.
PKIndexSplitter
Split an index based on a Filter.