37 if (estimate_op && (accepted || rejected)) {
42 estimate_op->report_range_ratio(accepted, rejected);
51 return valuelist->get_docid();
89 valuelist = db->open_value_list(slot);
91 if (estimate_op) estimate_op->report_first(valuelist->get_docid());
95 while (!valuelist->at_end()) {
96 const string & v = valuelist->get_value();
97 if (v >= begin && v <= end) {
112 if (!valuelist) valuelist = db->open_value_list(slot);
113 valuelist->skip_to(did);
114 while (!valuelist->at_end()) {
115 const string & v = valuelist->get_value();
116 if (v >= begin && v <= end) {
132 if (!valuelist) valuelist = db->open_value_list(slot);
133 valid = valuelist->check(did);
137 const string & v = valuelist->get_value();
138 valid = (v >= begin && v <= end);
161 string desc =
"ValueRangePostList(";
double recalc_maxweight()
Recalculate the upper bound on what get_weight() can return.
Xapian::termcount get_wdfdocmax() const
std::string get_description() const
Return a string description of this object.
PositionList * read_position_list()
Read the position list for the term in the current document and return a pointer to it (owned by the ...
Xapian::termcount count_matching_subqs() const
Count the number of leaf subqueries which match at the current position.
PostList * skip_to(Xapian::docid, double w_min)
Skip forward to the specified docid.
double get_weight(Xapian::termcount doclen, Xapian::termcount unique_terms, Xapian::termcount wdfdocmax) const
Return the weight contribution for the current position.
PostList * check(Xapian::docid did, double w_min, bool &valid)
Check if the specified docid occurs in this postlist.
bool at_end() const
Return true if the current position is past the last entry in this list.
Xapian::docid get_docid() const
Return the current docid.
Abstract base class for postlists.
PostList * next()
Advance the current position to the next document in the postlist.
Abstract base class for iterating term positions in a document.
Append a string to an object description, escaping invalid UTF-8.
Calculated bounds on and estimate of number of matches.
string str(int value)
Convert int to std::string.
unsigned XAPIAN_TERMCOUNT_BASE_TYPE termcount
A counts of terms.
unsigned XAPIAN_DOCID_BASE_TYPE docid
A unique identifier for a document.
Various assertion macros.
#define AssertRelParanoid(A, REL, B)
Convert types to std::string.
void description_append(std::string &desc, std::string_view s)
Return document ids matching a range test on a specified doc value.