30 #ifdef XAPIAN_ASSERTIONS_PARANOID 47 std::vector<LeafPostList *>::iterator i;
145 std::vector<LeafPostList *>::iterator i;
147 if (!(*i)->at_end()) {
152 if (!(*i)->at_end()) {
153 id = ((*i)->get_docid() - 1) *
multiplier + offset;
154 if (newdoc == 0 ||
id < newdoc) newdoc = id;
157 if (newdoc == 0 ||
id < newdoc) newdoc = id;
163 LOGLINE(DB,
"MultiPostList::next() newdoc=" << newdoc <<
164 " (olddoc=" <<
currdoc <<
")");
167 LOGLINE(DB,
"MultiPostList::next() finished" <<
168 " (olddoc=" <<
currdoc <<
")");
183 std::vector<LeafPostList *>::iterator i;
185 if (offset == dbnumber) --realdid;
189 if (!(*i)->at_end()) {
190 (*i)->skip_to(realdid, w_min);
191 if (!(*i)->at_end()) {
193 if (newdoc == 0 ||
id < newdoc) newdoc = id;
216 std::vector<LeafPostList *>::const_iterator i;
218 if (!desc.empty()) desc +=
',';
219 desc += (*i)->get_description();
Xapian::doccount multiplier
Abstract base class for postlists.
Xapian::termcount get_doclength() const
Return the length of current document.
std::string get_description() const
Return a string description of this object.
This class is used to access a database, or a group of databases.
Xapian::doccount get_termfreq_min() const
Get a lower bound on the number of documents indexed by this term.
PositionList * open_position_list() const
Read the position list for the term in the current document and return a pointer to it (not owned by ...
MultiPostList(std::vector< LeafPostList *> &pls, const Xapian::Database &this_db_)
double get_weight() const
Return the weight contribution for the current position.
std::vector< LeafPostList * > postlists
Xapian::docid get_docid() const
Return the current docid.
unsigned XAPIAN_TERMCOUNT_BASE_TYPE termcount
A counts of terms.
bool at_end() const
Return true if the current position is past the last entry in this list.
double get_maxweight() const
Return an upper bound on what get_weight() can return.
Internal * next()
Advance the current position to the next document in the postlist.
PostList * skip_to(Xapian::docid did, double w_min)
Skip forward to the specified docid.
API for working with Xapian databases.
Xapian::termcount get_doclength(Xapian::docid did) const
Get the length of a document.
Xapian::doccount get_termfreq_max() const
Get an upper bound on the number of documents indexed by this term.
Xapian::termcount get_wdf() const
Return the wdf for the document at the current position.
Xapian::termcount get_unique_terms() const
Return the number of unique terms in the current document.
double recalc_maxweight()
Recalculate the upper bound on what get_weight() can return.
#define AssertEqParanoid(A, B)
unsigned XAPIAN_DOCID_BASE_TYPE doccount
A count of documents.
Class for merging PostList objects from subdatabases.
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.
Xapian::termcount get_unique_terms(Xapian::docid did) const
Get the number of unique terms in document.
Xapian::doccount get_termfreq_est() const
Get an estimate of the number of documents indexed by this term.
#define LOGCALL(CATEGORY, TYPE, FUNC, PARAMS)