39 : current(0), factor(factor_)
43 if (newsource != NULL) {
45 }
else if (shard_index == 0) {
51 "implement clone() to support use " 52 "with a sharded database");
82 LOGCALL(MATCH,
double,
"ExternalPostList::get_maxweight", NO_ARGS);
100 LOGCALL(MATCH,
double,
"ExternalPostList::get_weight", NO_ARGS);
134 LOGCALL(MATCH,
PostList *,
"ExternalPostList::update_after_advance", NO_ARGS);
137 LOGLINE(MATCH,
"ExternalPostList now at end");
167 LOGCALL(MATCH,
PostList *,
"ExternalPostList::check", did | w_min | valid);
175 LOGLINE(MATCH,
"ExternalPostList now at end");
186 LOGCALL(MATCH,
bool,
"ExternalPostList::at_end", NO_ARGS);
199 string desc =
"ExternalPostList(";
virtual void init(const Database &db)=0
Set this PostingSource to the start of the list of postings.
bool at_end() const
Return true if the current position is past the last entry in this list.
Abstract base class for postlists.
This class is used to access a database, or a group of databases.
InvalidOperationError indicates the API was used in an invalid way.
Xapian::termcount count_matching_subqs() const
Count the number of leaf subqueries which match at the current position.
External sources of posting information.
double recalc_maxweight()
Recalculate the upper bound on what get_weight() can return.
double get_maxweight() const
Return an upper bound on what get_weight() can return.
virtual Xapian::doccount get_termfreq_est() const =0
An estimate of the number of documents this object can return.
PositionList * read_position_list()
Read the position list for the term in the current document and return a pointer to it (owned by the ...
PostList * check(Xapian::docid did, double w_min, bool &valid)
Check if the specified docid occurs in this postlist.
Hierarchy of classes which Xapian can throw as exceptions.
unsigned XAPIAN_TERMCOUNT_BASE_TYPE termcount
A counts of terms.
virtual bool check(Xapian::docid did, double min_wt)
Check if the specified docid occurs.
double get_weight() const
Return the weight contribution for the current position.
virtual Xapian::doccount get_termfreq_max() const =0
An upper bound on the number of documents this object can return.
Xapian::docid get_docid() const
Return the current docid.
void register_matcher_(void *matcher)
Xapian::doccount get_termfreq_est() const
Get an estimate of the number of documents indexed by this term.
virtual PostingSource * clone() const
Clone the posting source.
virtual bool at_end() const =0
Return true if the current position is past the last entry in this list.
std::string get_description() const
Return a string description of this object.
Internal * next()
Advance the current position to the next document in the postlist.
PostList * update_after_advance()
ExternalPostList(const ExternalPostList &)
Disallow copying.
Xapian::termcount get_unique_terms() const
Return the number of unique terms in the current document.
PostList * skip_to(Xapian::docid, double w_min)
Skip forward to the specified docid.
virtual double get_weight() const
Return the weight contribution for the current document.
Base class which provides an "external" source of postings.
virtual Xapian::doccount get_termfreq_min() const =0
A lower bound on the number of documents this object can return.
Xapian::Internal::opt_intrusive_ptr< Xapian::PostingSource > source
Xapian::doccount get_termfreq_max() const
Get an upper bound on the number of documents indexed by this term.
virtual void skip_to(Xapian::docid did, double min_wt)
Advance to the specified docid.
unsigned XAPIAN_DOCID_BASE_TYPE doccount
A count of documents.
Return document ids from an external source.
PostingSource * release()
Start reference counting this object.
double get_maxweight() const
Return the currently set upper bound on what get_weight() can return.
virtual Xapian::docid get_docid() const =0
Return the current docid.
Various assertion macros.
unsigned XAPIAN_DOCID_BASE_TYPE docid
A unique identifier for a document.
Abstract base class for iterating term positions in a document.
virtual void next(double min_wt)=0
Advance the current position to the next matching document.
Xapian::termcount get_doclength() const
Return the length of current document.
Xapian::doccount get_termfreq_min() const
Get a lower bound on the number of documents indexed by this term.
virtual std::string get_description() const
Return a string describing this object.
#define LOGCALL(CATEGORY, TYPE, FUNC, PARAMS)