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


DocFieldProcessorPerThread.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 DOCFIELDPROCESSORPERTHREAD_H
8 #define DOCFIELDPROCESSORPERTHREAD_H
9 
10 #include "DocConsumerPerThread.h"
11 #include "DocumentsWriter.h"
12 
13 namespace Lucene {
14 
20 public:
21  DocFieldProcessorPerThread(const DocumentsWriterThreadStatePtr& threadState, const DocFieldProcessorPtr& docFieldProcessor);
23 
25 
26 public:
27  double docBoost;
28  int32_t fieldGen;
32  Collection<DocFieldProcessorPerFieldPtr> _fields; // Holds all fields seen in current doc
33  int32_t fieldCount;
34 
35  Collection<DocFieldProcessorPerFieldPtr> fieldHash; // Hash table for all fields ever seen
36  int32_t hashMask;
37  int32_t totalFieldCount;
38 
41 
43  int32_t freeCount;
44  int32_t allocCount;
45 
46 public:
47  virtual void initialize();
48  virtual void abort();
50 
51  // If there are fields we've seen but did not see again in the last run, then free them up.
52  void trimFields(const SegmentWriteStatePtr& state);
53 
55 
58 
59 protected:
60  void rehash();
61 };
62 
64 public:
67 
69 
70 public:
73 
74 protected:
76 
77 public:
78  virtual int64_t sizeInBytes();
79  virtual void finish();
80  virtual void abort();
81 };
82 
83 }
84 
85 #endif
Lucene::DocFieldProcessorPerThreadPerDoc::abort
virtual void abort()
DocConsumerPerThread.h
Lucene::DocFieldProcessorPerThreadPerDocPtr
boost::shared_ptr< DocFieldProcessorPerThreadPerDoc > DocFieldProcessorPerThreadPerDocPtr
Definition: LuceneTypes.h:118
LUCENE_CLASS
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Lucene::DocFieldProcessorPerThread::hashMask
int32_t hashMask
Definition: DocFieldProcessorPerThread.h:36
Lucene::Collection< DocFieldProcessorPerFieldPtr >
Lucene::DocFieldProcessorPerThreadPerDoc::_docProcessor
DocFieldProcessorPerThreadWeakPtr _docProcessor
Definition: DocFieldProcessorPerThread.h:75
Lucene::DocWriter
Consumer returns this on each doc. This holds any state that must be flushed synchronized "in docID o...
Definition: DocumentsWriter.h:402
Lucene::DocFieldProcessorPerThread::trimFields
void trimFields(const SegmentWriteStatePtr &state)
Lucene::DocFieldProcessorPerThread::allocCount
int32_t allocCount
Definition: DocFieldProcessorPerThread.h:44
Lucene::DocFieldProcessorPerThread::totalFieldCount
int32_t totalFieldCount
Definition: DocFieldProcessorPerThread.h:37
Lucene::DocFieldProcessorPerThread::fieldsWriter
StoredFieldsWriterPerThreadPtr fieldsWriter
Definition: DocFieldProcessorPerThread.h:39
Lucene::FieldInfosPtr
boost::shared_ptr< FieldInfos > FieldInfosPtr
Definition: LuceneTypes.h:127
Lucene::DocWriterPtr
boost::shared_ptr< DocWriter > DocWriterPtr
Definition: LuceneTypes.h:125
Lucene::DocFieldProcessorPerThreadPerDoc::DocFieldProcessorPerThreadPerDoc
DocFieldProcessorPerThreadPerDoc(const DocFieldProcessorPerThreadPtr &docProcessor)
Lucene::SegmentWriteStatePtr
boost::shared_ptr< SegmentWriteState > SegmentWriteStatePtr
Definition: LuceneTypes.h:222
Lucene::DocFieldProcessorPerThread::fields
Collection< DocFieldConsumerPerFieldPtr > fields()
Lucene::DocFieldProcessorPerThread::_docFieldProcessor
DocFieldProcessorWeakPtr _docFieldProcessor
Definition: DocFieldProcessorPerThread.h:29
Lucene::DocFieldProcessorPerThreadPtr
boost::shared_ptr< DocFieldProcessorPerThread > DocFieldProcessorPerThreadPtr
Definition: LuceneTypes.h:117
Lucene::DocFieldProcessorPerThread::docFreeList
Collection< DocFieldProcessorPerThreadPerDocPtr > docFreeList
Definition: DocFieldProcessorPerThread.h:42
Lucene::DocFieldConsumerPerThreadPtr
boost::shared_ptr< DocFieldConsumerPerThread > DocFieldConsumerPerThreadPtr
Definition: LuceneTypes.h:110
Lucene::DocFieldProcessorPerThreadPerDoc::one
DocWriterPtr one
Definition: DocFieldProcessorPerThread.h:68
Lucene::DocFieldProcessorPerThreadWeakPtr
boost::weak_ptr< DocFieldProcessorPerThread > DocFieldProcessorPerThreadWeakPtr
Definition: LuceneTypes.h:117
Lucene::DocFieldProcessorPerThread::fieldGen
int32_t fieldGen
Definition: DocFieldProcessorPerThread.h:28
Lucene::DocFieldProcessorPerThreadPerDoc
Definition: DocFieldProcessorPerThread.h:63
Lucene::DocFieldProcessorPtr
boost::shared_ptr< DocFieldProcessor > DocFieldProcessorPtr
Definition: LuceneTypes.h:115
Lucene::DocFieldProcessorPerThreadPerDoc::finish
virtual void finish()
Lucene::DocFieldProcessorPerThread::fieldCount
int32_t fieldCount
Definition: DocFieldProcessorPerThread.h:33
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::DocFieldProcessorPerThread::abort
virtual void abort()
Lucene::DocFieldProcessorPerThread::docBoost
double docBoost
Definition: DocFieldProcessorPerThread.h:24
Lucene::DocFieldProcessorPerThread::freePerDoc
void freePerDoc(const DocFieldProcessorPerThreadPerDocPtr &perDoc)
Lucene::DocFieldProcessorPerThreadPerDoc::sizeInBytes
virtual int64_t sizeInBytes()
Lucene::DocFieldProcessorPerThread
Gathers all Fieldables for a document under the same name, updates FieldInfos, and calls per-field co...
Definition: DocFieldProcessorPerThread.h:19
Lucene::DocFieldProcessorPerThread::_fields
Collection< DocFieldProcessorPerFieldPtr > _fields
Definition: DocFieldProcessorPerThread.h:32
Lucene::StoredFieldsWriterPerThreadPtr
boost::shared_ptr< StoredFieldsWriterPerThread > StoredFieldsWriterPerThreadPtr
Definition: LuceneTypes.h:232
DocumentsWriter.h
Lucene::DocFieldProcessorPerThreadPerDoc::~DocFieldProcessorPerThreadPerDoc
virtual ~DocFieldProcessorPerThreadPerDoc()
Lucene::DocumentsWriterThreadStatePtr
boost::shared_ptr< DocumentsWriterThreadState > DocumentsWriterThreadStatePtr
Definition: LuceneTypes.h:124
Lucene::DocFieldProcessorPerThread::DocFieldProcessorPerThread
DocFieldProcessorPerThread(const DocumentsWriterThreadStatePtr &threadState, const DocFieldProcessorPtr &docFieldProcessor)
Lucene::DocFieldProcessorPerThread::consumer
DocFieldConsumerPerThreadPtr consumer
Definition: DocFieldProcessorPerThread.h:31
Lucene::DocFieldProcessorPerThreadPerDoc::two
DocWriterPtr two
Definition: DocFieldProcessorPerThread.h:72
Lucene::DocFieldProcessorPerThread::fieldHash
Collection< DocFieldProcessorPerFieldPtr > fieldHash
Definition: DocFieldProcessorPerThread.h:35
Lucene::DocFieldProcessorPerThread::initialize
virtual void initialize()
Called directly after instantiation to create objects that depend on this object being fully construc...
Lucene::DocFieldProcessorPerThread::rehash
void rehash()
Lucene::DocConsumerPerThread
Definition: DocConsumerPerThread.h:14
Lucene::DocStatePtr
boost::shared_ptr< DocState > DocStatePtr
Definition: LuceneTypes.h:122
Lucene::DocFieldProcessorPerThread::getPerDoc
DocFieldProcessorPerThreadPerDocPtr getPerDoc()
Lucene::DocFieldProcessorPerThread::freeCount
int32_t freeCount
Definition: DocFieldProcessorPerThread.h:43
Lucene::DocFieldProcessorPerThread::~DocFieldProcessorPerThread
virtual ~DocFieldProcessorPerThread()
Lucene::DocFieldProcessorPerThread::docState
DocStatePtr docState
Definition: DocFieldProcessorPerThread.h:40
Lucene::DocFieldProcessorWeakPtr
boost::weak_ptr< DocFieldProcessor > DocFieldProcessorWeakPtr
Definition: LuceneTypes.h:115
Lucene::DocFieldProcessorPerThread::processDocument
virtual DocWriterPtr processDocument()
Process the document. If there is something for this document to be done in docID order,...
Lucene::DocFieldProcessorPerThread::fieldInfos
FieldInfosPtr fieldInfos
Definition: DocFieldProcessorPerThread.h:30

clucene.sourceforge.net