Class CheckIndex
Basic tool and API to check the health of an index and write a new segments file that removes reference to problematic segments.
As this tool checks every byte in the index, on a large index it can take quite a long time to run.
Please make a complete backup of your index before using this to fix your index!
Inheritance
Inherited Members
Namespace: Lucene.Net.Index
Assembly: Lucene.Net.dll
Syntax
public class CheckIndex
Constructors
| Improve this Doc View SourceCheckIndex(Directory)
Create a new CheckIndex on the directory.
Declaration
public CheckIndex(Directory dir)
Parameters
Type | Name | Description |
---|---|---|
Directory | dir |
Properties
| Improve this Doc View SourceCrossCheckTermVectors
If true
, term vectors are compared against postings to
make sure they are the same. This will likely
drastically increase time it takes to run CheckIndex!
Declaration
public virtual bool CrossCheckTermVectors { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
InfoStream
Gets or Sets infoStream where messages should go. If null, no
messages are printed. If InfoStreamIsVerbose is true
then more
details are printed.
Declaration
public virtual TextWriter InfoStream { get; set; }
Property Value
Type | Description |
---|---|
System.IO.TextWriter |
InfoStreamIsVerbose
If true
, prints more details to the InfoStream, if set.
Declaration
public virtual bool InfoStreamIsVerbose { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Methods
| Improve this Doc View SourceDoCheckIndex()
Returns a CheckIndex.Status instance detailing the state of the index.
As this method checks every byte in the index, on a large index it can take quite a long time to run.
WARNING: make sure you only call this when the index is not opened by any writer.
Declaration
public virtual CheckIndex.Status DoCheckIndex()
Returns
Type | Description |
---|---|
CheckIndex.Status |
DoCheckIndex(IList<String>)
Returns a CheckIndex.Status instance detailing the state of the index.
Declaration
public virtual CheckIndex.Status DoCheckIndex(IList<string> onlySegments)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IList<System.String> | onlySegments | list of specific segment names to check As this method checks every byte in the specified segments, on a large index it can take quite a long time to run. WARNING: make sure you only call this when the index is not opened by any writer. |
Returns
Type | Description |
---|---|
CheckIndex.Status |
FixIndex(CheckIndex.Status)
Repairs the index using previously returned result from DoCheckIndex(). Note that this does not remove any of the unreferenced files after it's done; you must separately open an IndexWriter, which deletes unreferenced files when it's created.
WARNING: this writes a new segments file into the index, effectively removing all documents in broken segments from the index. BE CAREFUL.
WARNING: Make sure you only call this when the index is not opened by any writer.
Declaration
public virtual void FixIndex(CheckIndex.Status result)
Parameters
Type | Name | Description |
---|---|---|
CheckIndex.Status | result |
FlushInfoStream()
Declaration
public virtual void FlushInfoStream()
Main(String[])
Declaration
[STAThread]
public static void Main(string[] args)
Parameters
Type | Name | Description |
---|---|---|
System.String[] | args |
TestDocValues(AtomicReader, TextWriter)
Test docvalues.
Declaration
public static CheckIndex.Status.DocValuesStatus TestDocValues(AtomicReader reader, TextWriter infoStream)
Parameters
Type | Name | Description |
---|---|---|
AtomicReader | reader | |
System.IO.TextWriter | infoStream |
Returns
Type | Description |
---|---|
CheckIndex.Status.DocValuesStatus |
TestFieldNorms(AtomicReader, TextWriter)
Test field norms.
Declaration
public static CheckIndex.Status.FieldNormStatus TestFieldNorms(AtomicReader reader, TextWriter infoStream)
Parameters
Type | Name | Description |
---|---|---|
AtomicReader | reader | |
System.IO.TextWriter | infoStream |
Returns
Type | Description |
---|---|
CheckIndex.Status.FieldNormStatus |
TestPostings(AtomicReader, TextWriter)
Test the term index.
Declaration
public static CheckIndex.Status.TermIndexStatus TestPostings(AtomicReader reader, TextWriter infoStream)
Parameters
Type | Name | Description |
---|---|---|
AtomicReader | reader | |
System.IO.TextWriter | infoStream |
Returns
Type | Description |
---|---|
CheckIndex.Status.TermIndexStatus |
TestPostings(AtomicReader, TextWriter, Boolean)
Test the term index.
Declaration
public static CheckIndex.Status.TermIndexStatus TestPostings(AtomicReader reader, TextWriter infoStream, bool verbose)
Parameters
Type | Name | Description |
---|---|---|
AtomicReader | reader | |
System.IO.TextWriter | infoStream | |
System.Boolean | verbose |
Returns
Type | Description |
---|---|
CheckIndex.Status.TermIndexStatus |
TestStoredFields(AtomicReader, TextWriter)
Test stored fields.
Declaration
public static CheckIndex.Status.StoredFieldStatus TestStoredFields(AtomicReader reader, TextWriter infoStream)
Parameters
Type | Name | Description |
---|---|---|
AtomicReader | reader | |
System.IO.TextWriter | infoStream |
Returns
Type | Description |
---|---|
CheckIndex.Status.StoredFieldStatus |
TestTermVectors(AtomicReader, TextWriter)
Test term vectors.
Declaration
public static CheckIndex.Status.TermVectorStatus TestTermVectors(AtomicReader reader, TextWriter infoStream)
Parameters
Type | Name | Description |
---|---|---|
AtomicReader | reader | |
System.IO.TextWriter | infoStream |
Returns
Type | Description |
---|---|
CheckIndex.Status.TermVectorStatus |
TestTermVectors(AtomicReader, TextWriter, Boolean, Boolean)
Test term vectors.
Declaration
public static CheckIndex.Status.TermVectorStatus TestTermVectors(AtomicReader reader, TextWriter infoStream, bool verbose, bool crossCheckTermVectors)
Parameters
Type | Name | Description |
---|---|---|
AtomicReader | reader | |
System.IO.TextWriter | infoStream | |
System.Boolean | verbose | |
System.Boolean | crossCheckTermVectors |
Returns
Type | Description |
---|---|
CheckIndex.Status.TermVectorStatus |