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


 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Static Public Member Functions | Data Fields | Protected Member Functions
Lucene::DocFieldProcessorPerThread Class Reference

Gathers all Fieldables for a document under the same name, updates FieldInfos, and calls per-field consumers to process field by field. More...

#include <DocFieldProcessorPerThread.h>

+ Inheritance diagram for Lucene::DocFieldProcessorPerThread:

Public Member Functions

 DocFieldProcessorPerThread (const DocumentsWriterThreadStatePtr &threadState, const DocFieldProcessorPtr &docFieldProcessor)
virtual ~DocFieldProcessorPerThread ()
virtual String getClassName ()
boost::shared_ptr
< DocFieldProcessorPerThread
shared_from_this ()
virtual void initialize ()
 Called directly after instantiation to create objects that depend on this object being fully constructed.
virtual void abort ()
Collection
< DocFieldConsumerPerFieldPtr
fields ()
void trimFields (const SegmentWriteStatePtr &state)
virtual DocWriterPtr processDocument ()
 Process the document. If there is something for this document to be done in docID order, you should encapsulate that as a DocWriter and return it. DocumentsWriter then calls finish() on this object when it's its turn.
DocFieldProcessorPerThreadPerDocPtr getPerDoc ()
void freePerDoc (const DocFieldProcessorPerThreadPerDocPtr &perDoc)
- Public Member Functions inherited from Lucene::DocConsumerPerThread
virtual ~DocConsumerPerThread ()
- Public Member Functions inherited from Lucene::LuceneObject
virtual ~LuceneObject ()
virtual LuceneObjectPtr clone (const LuceneObjectPtr &other=LuceneObjectPtr())
 Return clone of this object.
virtual int32_t hashCode ()
 Return hash code for this object.
virtual bool equals (const LuceneObjectPtr &other)
 Return whether two objects are equal.
virtual int32_t compareTo (const LuceneObjectPtr &other)
 Compare two objects.
virtual String toString ()
 Returns a string representation of the object.
- Public Member Functions inherited from Lucene::LuceneSync
virtual ~LuceneSync ()
virtual SynchronizePtr getSync ()
 Return this object synchronize lock.
virtual LuceneSignalPtr getSignal ()
 Return this object signal.
virtual void lock (int32_t timeout=0)
 Lock this object using an optional timeout.
virtual void unlock ()
 Unlock this object.
virtual bool holdsLock ()
 Returns true if this object is currently locked by current thread.
virtual void wait (int32_t timeout=0)
 Wait for signal using an optional timeout.
virtual void notifyAll ()
 Notify all threads waiting for signal.

Static Public Member Functions

static String _getClassName ()

Data Fields

double docBoost
int32_t fieldGen
DocFieldProcessorWeakPtr _docFieldProcessor
FieldInfosPtr fieldInfos
DocFieldConsumerPerThreadPtr consumer
Collection
< DocFieldProcessorPerFieldPtr
_fields
int32_t fieldCount
Collection
< DocFieldProcessorPerFieldPtr
fieldHash
int32_t hashMask
int32_t totalFieldCount
StoredFieldsWriterPerThreadPtr fieldsWriter
DocStatePtr docState
Collection
< DocFieldProcessorPerThreadPerDocPtr
docFreeList
int32_t freeCount
int32_t allocCount

Protected Member Functions

void rehash ()

Additional Inherited Members

- Protected Attributes inherited from Lucene::LuceneSync
SynchronizePtr objectLock
LuceneSignalPtr objectSignal

Detailed Description

Gathers all Fieldables for a document under the same name, updates FieldInfos, and calls per-field consumers to process field by field.

Currently, only a single thread visits the fields, sequentially, for processing.

Constructor & Destructor Documentation

Lucene::DocFieldProcessorPerThread::DocFieldProcessorPerThread ( const DocumentsWriterThreadStatePtr threadState,
const DocFieldProcessorPtr docFieldProcessor 
)
virtual Lucene::DocFieldProcessorPerThread::~DocFieldProcessorPerThread ( )
virtual

Member Function Documentation

static String Lucene::DocFieldProcessorPerThread::_getClassName ( )
inlinestatic

Reimplemented from Lucene::DocConsumerPerThread.

virtual void Lucene::DocFieldProcessorPerThread::abort ( )
virtual
Collection<DocFieldConsumerPerFieldPtr> Lucene::DocFieldProcessorPerThread::fields ( )
void Lucene::DocFieldProcessorPerThread::freePerDoc ( const DocFieldProcessorPerThreadPerDocPtr perDoc)
virtual String Lucene::DocFieldProcessorPerThread::getClassName ( )
inlinevirtual

Reimplemented from Lucene::DocConsumerPerThread.

DocFieldProcessorPerThreadPerDocPtr Lucene::DocFieldProcessorPerThread::getPerDoc ( )
virtual void Lucene::DocFieldProcessorPerThread::initialize ( )
virtual

Called directly after instantiation to create objects that depend on this object being fully constructed.

Reimplemented from Lucene::LuceneObject.

virtual DocWriterPtr Lucene::DocFieldProcessorPerThread::processDocument ( )
virtual

Process the document. If there is something for this document to be done in docID order, you should encapsulate that as a DocWriter and return it. DocumentsWriter then calls finish() on this object when it's its turn.

Implements Lucene::DocConsumerPerThread.

void Lucene::DocFieldProcessorPerThread::rehash ( )
protected
boost::shared_ptr< DocFieldProcessorPerThread > Lucene::DocFieldProcessorPerThread::shared_from_this ( )
inline

Reimplemented from Lucene::DocConsumerPerThread.

void Lucene::DocFieldProcessorPerThread::trimFields ( const SegmentWriteStatePtr state)

Field Documentation

DocFieldProcessorWeakPtr Lucene::DocFieldProcessorPerThread::_docFieldProcessor
Collection<DocFieldProcessorPerFieldPtr> Lucene::DocFieldProcessorPerThread::_fields
int32_t Lucene::DocFieldProcessorPerThread::allocCount
DocFieldConsumerPerThreadPtr Lucene::DocFieldProcessorPerThread::consumer
double Lucene::DocFieldProcessorPerThread::docBoost
Collection<DocFieldProcessorPerThreadPerDocPtr> Lucene::DocFieldProcessorPerThread::docFreeList
DocStatePtr Lucene::DocFieldProcessorPerThread::docState
int32_t Lucene::DocFieldProcessorPerThread::fieldCount
int32_t Lucene::DocFieldProcessorPerThread::fieldGen
Collection<DocFieldProcessorPerFieldPtr> Lucene::DocFieldProcessorPerThread::fieldHash
FieldInfosPtr Lucene::DocFieldProcessorPerThread::fieldInfos
StoredFieldsWriterPerThreadPtr Lucene::DocFieldProcessorPerThread::fieldsWriter
int32_t Lucene::DocFieldProcessorPerThread::freeCount
int32_t Lucene::DocFieldProcessorPerThread::hashMask
int32_t Lucene::DocFieldProcessorPerThread::totalFieldCount

The documentation for this class was generated from the following file:

clucene.sourceforge.net