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

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
Lucene::FilteredDocIdSet Class Referenceabstract

Abstract decorator class for a DocIdSet implementation that provides on-demand filtering/validation mechanism on a given DocIdSet. More...

`#include <FilteredDocIdSet.h>`

Inheritance diagram for Lucene::FilteredDocIdSet:

## Public Member Functions

| FilteredDocIdSet (const DocIdSetPtr &innerSet)
virtual | ~FilteredDocIdSet ()
virtual String | getClassName ()
boost::shared_ptr< FilteredDocIdSet > | shared_from_this ()
virtual bool | isCacheable ()
| This DocIdSet implementation is cacheable if the inner set is cacheable.
virtual DocIdSetIteratorPtr | iterator ()
| Implementation of the contract to build a DocIdSetIterator.
Public Member Functions inherited from Lucene::DocIdSet
virtual | ~DocIdSet ()
boost::shared_ptr< DocIdSet > | shared_from_this ()
Public Member Functions inherited from Lucene::LuceneObject
virtual | ~LuceneObject ()
virtual void | initialize ()
| Called directly after instantiation to create objects that depend on this object being fully constructed.
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 ()
Static Public Member Functions inherited from Lucene::DocIdSet
static String | _getClassName ()
static DocIdSetPtr | EMPTY_DOCIDSET ()
| An empty {.

## Protected Member Functions

virtual bool | match (int32_t docid)=0
| Validation method to determine whether a docid should be in the result set.
Protected Member Functions inherited from Lucene::LuceneObject
| LuceneObject ()

## Protected Attributes

DocIdSetPtr | innerSet
Protected Attributes inherited from Lucene::LuceneSync
SynchronizePtr | objectLock
LuceneSignalPtr | objectSignal

## Detailed Description

Abstract decorator class for a DocIdSet implementation that provides on-demand filtering/validation mechanism on a given DocIdSet.

Technically, this same functionality could be achieved with ChainedFilter (under contrib/misc), however the benefit of this class is it never materializes the full bitset for the filter. Instead, the `match` method is invoked on-demand, per docID visited during searching. If you know few docIDs will be visited, and the logic behind `match` is relatively costly, this may be a better way to filter than ChainedFilter.

See also
  DocIdSet

## Constructor & Destructor Documentation

## ◆ FilteredDocIdSet()

Lucene::FilteredDocIdSet::FilteredDocIdSet | ( | const DocIdSetPtr & | innerSet | ) |

Parameters

  innerSet | Underlying DocIdSet

## ◆ ~FilteredDocIdSet()

virtual Lucene::FilteredDocIdSet::~FilteredDocIdSet | ( |  | ) |

virtual

## Member Function Documentation

## ◆ _getClassName()

static String Lucene::FilteredDocIdSet::_getClassName | ( |  | ) |

inline static

## ◆ getClassName()

virtual String Lucene::FilteredDocIdSet::getClassName | ( |  | ) |

inline virtual

Reimplemented from Lucene::DocIdSet.

## ◆ isCacheable()

virtual bool Lucene::FilteredDocIdSet::isCacheable | ( |  | ) |

virtual

This DocIdSet implementation is cacheable if the inner set is cacheable.

Reimplemented from Lucene::DocIdSet.

## ◆ iterator()

virtual DocIdSetIteratorPtr Lucene::FilteredDocIdSet::iterator | ( |  | ) |

virtual

Implementation of the contract to build a DocIdSetIterator.

See also
  DocIdSetIterator
  FilteredDocIdSetIterator

Implements Lucene::DocIdSet.

## ◆ match()

virtual bool Lucene::FilteredDocIdSet::match | ( | int32_t | docid | ) |

protected pure virtual

Validation method to determine whether a docid should be in the result set.

Parameters

  docid | docid to be tested

Returns
  true if input docid should be in the result set, false otherwise.

## ◆ shared_from_this()

boost::shared_ptr< FilteredDocIdSet > Lucene::FilteredDocIdSet::shared_from_this | ( |  | ) |

inline

## Field Documentation

## ◆ innerSet

DocIdSetPtr Lucene::FilteredDocIdSet::innerSet

protected

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

- FilteredDocIdSet.h

clucene.sourceforge.net