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

MergeDocIDRemapper.h
Go to the documentation of this file.
1 // 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 MERGEDOCIDREMAPPER_H
8 #define MERGEDOCIDREMAPPER_H
9
10 #include "LuceneObject.h"
11
12 namespace Lucene {
13
17 class MergeDocIDRemapper : public LuceneObject {
18 public:
19 MergeDocIDRemapper(const SegmentInfosPtr& infos, Collection< Collection<int32_t> > docMaps, Collection<int32_t> delCounts, const OneMergePtr& merge, int32_t mergedDocCount);
20 virtual ~MergeDocIDRemapper();
21
22 LUCENE_CLASS(MergeDocIDRemapper);
23
24 public:
25 Collection<int32_t> starts; // used for binary search of mapped docID
26 Collection<int32_t> newStarts; // starts, minus the deletes
27 Collection< Collection<int32_t> > docMaps; // maps docIDs in the merged set
28 int32_t minDocID; // minimum docID that needs renumbering
29 int32_t maxDocID; // 1+ the max docID that needs renumbering
30 int32_t docShift; // total # deleted docs that were compacted by this merge
31
32 public:
33 int32_t remap(int32_t oldDocID);
34 };
35
36 }
37
38 #endif
Lucene::MergeDocIDRemapper::starts
Collection< int32_t > starts
Definition: MergeDocIDRemapper.h:22
LUCENE_CLASS
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Lucene::Collection
Utility template class to handle collections that can be safely copied and shared.
Definition: Collection.h:17
Lucene::OneMergePtr
boost::shared_ptr< OneMerge > OneMergePtr
Definition: LuceneTypes.h:192
Lucene::MergeDocIDRemapper
Remaps docIDs after a merge has completed, where the merged segments had at least one deletion....
Definition: MergeDocIDRemapper.h:17
Lucene::MergeDocIDRemapper::maxDocID
int32_t maxDocID
Definition: MergeDocIDRemapper.h:29
Lucene::MergeDocIDRemapper::~MergeDocIDRemapper
virtual ~MergeDocIDRemapper()
Lucene::MergeDocIDRemapper::docShift
int32_t docShift
Definition: MergeDocIDRemapper.h:30
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::MergeDocIDRemapper::minDocID
int32_t minDocID
Definition: MergeDocIDRemapper.h:28
Lucene::LuceneObject
Base class for all Lucene classes.
Definition: LuceneObject.h:31
Lucene::MergeDocIDRemapper::remap
int32_t remap(int32_t oldDocID)
Lucene::SegmentInfosPtr
boost::shared_ptr< SegmentInfos > SegmentInfosPtr
Definition: LuceneTypes.h:210
Lucene::MergeDocIDRemapper::docMaps
Collection< Collection< int32_t > > docMaps
Definition: MergeDocIDRemapper.h:27
Lucene::MergeDocIDRemapper::newStarts
Collection< int32_t > newStarts
Definition: MergeDocIDRemapper.h:26
Lucene::MergeDocIDRemapper::MergeDocIDRemapper
MergeDocIDRemapper(const SegmentInfosPtr &infos, Collection< Collection< int32_t > > docMaps, Collection< int32_t > delCounts, const OneMergePtr &merge, int32_t mergedDocCount)
LuceneObject.h

clucene.sourceforge.net