68 LOGCALL(MATCH,
double,
"SynonymPostList::get_weight", NO_ARGS);
89 if (wdf > doclen) wdf = doclen;
102 LOGCALL(MATCH,
double,
"SynonymPostList::get_maxweight", NO_ARGS);
109 LOGCALL(MATCH,
double,
"SynonymPostList::recalc_maxweight", NO_ARGS);
157 LOGCALL(MATCH,
bool,
"SynonymPostList::at_end", NO_ARGS);
Abstract base class for postlists.
std::string get_description() const
Return a string description of this object.
bool want_doclength
Flag indicating whether the weighting object needs the doclength.
virtual Xapian::docid get_docid() const =0
Return the current docid.
#define AssertRel(A, REL, B)
PostList * skip_to(Xapian::docid did, double w_min)
Skip forward to the specified docid.
bool want_unique_terms
Flag indicating whether the weighting object needs the number of unique terms.
Xapian::doccount get_termfreq_max() const
Get an upper bound on the number of documents indexed by this term.
bool get_sumpart_needs_wdf_() const
bool at_end() const
Return true if the current position is past the last entry in this list.
bool get_sumpart_needs_uniqueterms_() const
virtual Xapian::termcount get_unique_terms() const =0
Return the number of unique terms in the current document.
Xapian::termcount get_wdf() const
Return the wdf for the document at the current position.
Xapian::docid get_docid() const
Return the current docid.
bool get_sumpart_needs_doclength_() const
virtual double get_maxpart() const =0
Return an upper bound on what get_sumpart() can return for any document.
bool skip_to_handling_prune(PostList *&pl, Xapian::docid did, double w_min, MultiMatch *matcher)
unsigned XAPIAN_TERMCOUNT_BASE_TYPE termcount
A counts of terms.
bool wdf_disjoint
Are the subquery's wdf contributions disjoint?
Xapian::termcount get_doclength() const
Return the length of current document.
const Xapian::Weight * wt
Weighting object used for calculating the synonym weights.
virtual Xapian::doccount get_termfreq_max() const =0
Get an upper bound on the number of documents indexed by this term.
virtual Xapian::doccount get_termfreq_est() const =0
Get an estimate of the number of documents indexed by this term.
virtual base class for branched types of postlist
PostList * subtree
The subtree, which starts as an OR of all the sub-postlists being joined with Synonym, but may decay into something else.
virtual Xapian::doccount get_termfreq_min() const =0
Get a lower bound on the number of documents indexed by this term.
Internal * next()
Advance the current position to the next document in the postlist.
Combine subqueries, weighting as if they are synonyms.
void set_weight(const Xapian::Weight *wt_)
Set the weight object to be used for the synonym postlist.
bool next_handling_prune(PostList *&pl, double w_min, MultiMatch *matcher)
virtual Xapian::termcount get_doclength() const =0
Return the length of current document.
virtual std::string get_description() const =0
Return a string description of this object.
unsigned XAPIAN_DOCID_BASE_TYPE doccount
A count of documents.
double recalc_maxweight()
Recalculate the upper bound on what get_weight() can return.
virtual bool at_end() const =0
Return true if the current position is past the last entry in this list.
virtual double get_sumpart(Xapian::termcount wdf, Xapian::termcount doclen, Xapian::termcount uniqterms) const =0
Calculate the weight contribution for this object's term to a document.
MultiMatch * matcher
The object which is using this postlist to perform a match.
Various assertion macros.
double get_weight() const
Return the weight contribution for the current position.
unsigned XAPIAN_DOCID_BASE_TYPE docid
A unique identifier for a document.
Xapian::termcount get_unique_terms() const
Return the number of unique terms in the current document.
Xapian::termcount count_matching_subqs() const
Count the number of leaf subqueries which match at the current position.
Xapian::termcount doclen_lower_bound
Lower bound on doclength in the subdatabase we're working over.
bool want_wdf
Flag indicating whether the weighting object needs the wdf.
virtual Xapian::termcount get_wdf() const
Return the wdf for the document at the current position.
Xapian::doccount get_termfreq_min() const
Get a lower bound on the number of documents indexed by this term.
#define LOGCALL(CATEGORY, TYPE, FUNC, PARAMS)
Abstract base class for weighting schemes.
double get_maxweight() const
Return an upper bound on what get_weight() can return.
Xapian::doccount get_termfreq_est() const
Get an estimate of the number of documents indexed by this term.