Lucene++ - a full-featured, c++ search engine
API Documentation


Loading...
Searching...
No Matches
CheckIndex.h
Go to the documentation of this file.
1
2// Copyright (c) 2009-2014 Alan Wright. All rights reserved.
3// Distributable under the terms of either the Apache License (Version 2.0)
4// or the GNU Lesser General Public License.
6
7#ifndef CHECKINDEX_H
8#define CHECKINDEX_H
9
10#include "SegmentTermDocs.h"
11
12namespace Lucene {
13
20class LPPAPI CheckIndex : public LuceneObject {
21public:
24 virtual ~CheckIndex();
25
27
28protected:
31
32 static bool _assertsOn;
33
34public:
36 void setInfoStream(const InfoStreamPtr& out);
37
44
54
63 void fixIndex(const IndexStatusPtr& result);
64
65 static bool testAsserts();
66 static bool assertsOn();
67
89 static int main(Collection<String> args);
90
91protected:
92 void msg(const String& msg);
93
96
99
102
105};
106
166
235
237class LPPAPI FieldNormStatus : public LuceneObject {
238public:
241
243
244public:
246 int64_t totFields;
247
250};
251
253class LPPAPI TermIndexStatus : public LuceneObject {
254public:
257
259
260public:
262 int64_t termCount;
263
265 int64_t totFreq;
266
268 int64_t totPos;
269
272};
273
275class LPPAPI StoredFieldStatus : public LuceneObject {
276public:
279
281
282public:
284 int32_t docCount;
285
287 int64_t totFields;
288
291};
292
294class LPPAPI TermVectorStatus : public LuceneObject {
295public:
298
300
301public:
303 int32_t docCount;
304
306 int64_t totVectors;
307
310};
311
312}
313
314#endif
#define LUCENE_CLASS(Name)
Definition LuceneObject.h:24
Basic tool and API to check the health of an index and write a new segments file that removes referen...
Definition CheckIndex.h:20
CheckIndex(const DirectoryPtr &dir)
Create a new CheckIndex on the directory.
InfoStreamPtr infoStream
Definition CheckIndex.h:29
DirectoryPtr dir
Definition CheckIndex.h:30
IndexStatusPtr checkIndex(Collection< String > onlySegments)
Returns a IndexStatus instance detailing the state of the index.
static int main(Collection< String > args)
Command-line interface to check and fix an index.
void msg(const String &msg)
static bool _assertsOn
Definition CheckIndex.h:32
TermIndexStatusPtr testTermIndex(const SegmentInfoPtr &info, const SegmentReaderPtr &reader)
Test the term index.
StoredFieldStatusPtr testStoredFields(const SegmentInfoPtr &info, const SegmentReaderPtr &reader)
Test stored fields for a segment.
virtual ~CheckIndex()
TermVectorStatusPtr testTermVectors(const SegmentInfoPtr &info, const SegmentReaderPtr &reader)
Test term vectors for a segment.
static bool testAsserts()
void fixIndex(const IndexStatusPtr &result)
Repairs the index using previously returned result from checkIndex. Note that this does not remove an...
FieldNormStatusPtr testFieldNorms(Collection< String > fieldNames, const SegmentReaderPtr &reader)
Test field norms.
IndexStatusPtr checkIndex()
Returns a IndexStatus instance detailing the state of the index.
void setInfoStream(const InfoStreamPtr &out)
Set infoStream where messages should go. If null, no messages are printed.
static bool assertsOn()
Utility template class to handle collections that can be safely copied and shared.
Definition Collection.h:17
Status from testing field norms.
Definition CheckIndex.h:237
LuceneException error
Exception thrown during term index test (null on success)
Definition CheckIndex.h:249
int64_t totFields
Number of fields successfully tested.
Definition CheckIndex.h:246
Returned from checkIndex() detailing the health and status of the index.
Definition CheckIndex.h:108
bool clean
True if no problems were found with the index.
Definition CheckIndex.h:117
DirectoryPtr dir
Directory index is in.
Definition CheckIndex.h:148
Collection< SegmentInfoStatusPtr > segmentInfos
List of SegmentInfoStatus instances, detailing status of each segment.
Definition CheckIndex.h:145
Collection< String > segmentsChecked
Empty unless you passed specific segments list to check as optional 3rd argument.
Definition CheckIndex.h:139
bool cantOpenSegments
True if we were unable to open the segments_N file.
Definition CheckIndex.h:123
bool missingSegments
True if we were unable to locate and load the segments_N file.
Definition CheckIndex.h:120
MapStringString userData
Holds the userData of the last commit in the index.
Definition CheckIndex.h:164
String segmentFormat
String description of the version of the index.
Definition CheckIndex.h:135
bool partial
True if we checked only specific segments (checkIndex(List)) was called with non-null argument).
Definition CheckIndex.h:161
int32_t numBadSegments
How many bad segments were found.
Definition CheckIndex.h:158
bool missingSegmentVersion
True if we were unable to read the version number from segments_N file.
Definition CheckIndex.h:126
int32_t totLoseDocCount
How many documents will be lost to bad segments.
Definition CheckIndex.h:155
int32_t numSegments
Number of segments in the index.
Definition CheckIndex.h:132
String segmentsFileName
Name of latest segments_N file in the index.
Definition CheckIndex.h:129
virtual ~IndexStatus()
bool toolOutOfDate
True if the index was created with a newer version of Lucene than the CheckIndex tool.
Definition CheckIndex.h:142
SegmentInfosPtr newSegments
SegmentInfos instance containing only segments that had no problems (this is used with the CheckIndex...
Definition CheckIndex.h:152
Lucene exception container.
Definition LuceneException.h:15
Base class for all Lucene classes.
Definition LuceneObject.h:31
Holds the status of each segment in the index. See segmentInfos.
Definition CheckIndex.h:168
int32_t numDeleted
Number of deleted documents.
Definition CheckIndex.h:208
MapStringString diagnostics
Map that includes certain debugging details that IndexWriter records into each segment it creates.
Definition CheckIndex.h:221
TermVectorStatusPtr termVectorStatus
Status for testing of term vectors (null if term vectors could not be tested).
Definition CheckIndex.h:233
bool compound
True if segment is compound file format.
Definition CheckIndex.h:183
int32_t numFields
Number of fields in this segment.
Definition CheckIndex.h:214
String docStoreSegment
String of the shared doc store segment, or null if this segment does not share the doc store files.
Definition CheckIndex.h:196
String name
Name of the segment.
Definition CheckIndex.h:177
int32_t numFiles
Number of files referenced by this segment.
Definition CheckIndex.h:186
double sizeMB
Net size (MB) of the files referenced by this segment.
Definition CheckIndex.h:189
StoredFieldStatusPtr storedFieldStatus
Status for testing of stored fields (null if stored fields could not be tested).
Definition CheckIndex.h:230
bool docStoreCompoundFile
True if the shared doc store files are compound file format.
Definition CheckIndex.h:199
bool hasProx
True if at least one of the fields in this segment does not omitTermFreqAndPositions.
Definition CheckIndex.h:218
int32_t docStoreOffset
Doc store offset, if this segment shares the doc store files (stored fields and term vectors) with ot...
Definition CheckIndex.h:193
TermIndexStatusPtr termIndexStatus
Status for testing of indexed terms (null if indexed terms could not be tested).
Definition CheckIndex.h:227
String deletionsFileName
Name of the current deletions file name.
Definition CheckIndex.h:205
int32_t docCount
Document count (does not take deletions into account).
Definition CheckIndex.h:180
bool openReaderPassed
True if we were able to open a SegmentReader on this segment.
Definition CheckIndex.h:211
bool hasDeletions
True if this segment has pending deletions.
Definition CheckIndex.h:202
FieldNormStatusPtr fieldNormStatus
Status for testing of field norms (null if field norms could not be tested).
Definition CheckIndex.h:224
Status from testing stored fields.
Definition CheckIndex.h:275
int64_t totFields
Total number of stored fields tested.
Definition CheckIndex.h:287
int32_t docCount
Number of documents tested.
Definition CheckIndex.h:284
LuceneException error
Exception thrown during stored fields test (null on success)
Definition CheckIndex.h:290
Status from testing term index.
Definition CheckIndex.h:253
int64_t totFreq
Total frequency across all terms.
Definition CheckIndex.h:265
LuceneException error
Exception thrown during term index test (null on success)
Definition CheckIndex.h:271
int64_t totPos
Total number of positions.
Definition CheckIndex.h:268
int64_t termCount
Total term count.
Definition CheckIndex.h:262
Status from testing stored fields.
Definition CheckIndex.h:294
LuceneException error
Exception thrown during term vector test (null on success)
Definition CheckIndex.h:309
int32_t docCount
Number of documents tested.
Definition CheckIndex.h:303
int64_t totVectors
Total number of term vectors tested.
Definition CheckIndex.h:306
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< InfoStream > InfoStreamPtr
Definition LuceneTypes.h:532
boost::shared_ptr< TermIndexStatus > TermIndexStatusPtr
Definition LuceneTypes.h:238
boost::shared_ptr< StoredFieldStatus > StoredFieldStatusPtr
Definition LuceneTypes.h:229
boost::shared_ptr< SegmentInfo > SegmentInfoPtr
Definition LuceneTypes.h:208
boost::shared_ptr< Directory > DirectoryPtr
Definition LuceneTypes.h:489
boost::shared_ptr< TermVectorStatus > TermVectorStatusPtr
Definition LuceneTypes.h:257
boost::shared_ptr< FieldNormStatus > FieldNormStatusPtr
Definition LuceneTypes.h:129
boost::shared_ptr< IndexStatus > IndexStatusPtr
Definition LuceneTypes.h:159
boost::shared_ptr< SegmentInfos > SegmentInfosPtr
Definition LuceneTypes.h:210
boost::shared_ptr< SegmentReader > SegmentReaderPtr
Definition LuceneTypes.h:215

clucene.sourceforge.net