21 #ifndef XAPIAN_INCLUDED_POSTLISTTREE_H
22 #define XAPIAN_INCLUDED_POSTLISTTREE_H
207 std::string desc =
"PostListTree(";
Sharded database backend.
Xapian::Database::Internal * shard_db
Xapian::doccount n_shards
The number of shards.
PostList ** shard_pls
The postlists for the shards.
void set_postlists(PostList **pls, Xapian::doccount n_shards_)
Xapian::termcount get_doclength(Xapian::docid shard_did) const
Xapian::docid get_docid() const
bool * get_max_weight_cached_flag_ptr()
Return pointer to flag to set to false to invalidate cached max weight.
ValueStreamDocument & vsdoc
Document proxy used for valuestream caching.
double recalc_maxweight()
Xapian::termcount count_matching_subqs() const
void get_doc_stats(Xapian::docid shard_did, Xapian::termcount &doclen, Xapian::termcount &unique_terms, Xapian::termcount &wdfdocmax) const
std::string get_description() const
bool next(double w_min)
Return false if we're done.
double get_weight() const
Xapian::doccount current_shard
The current shard.
PostListTree(ValueStreamDocument &vsdoc_, Xapian::Database &db_, const Xapian::Weight &wtscheme)
void delete_postlists()
Delete all the PostList objects.
bool use_cached_max_weight
A document which gets its values from a ValueStreamManager.
void new_shard(Xapian::doccount n)
Virtual base class for Database internals.
virtual termcount get_wdfdocmax(docid did) const =0
Get the max wdf in document.
virtual termcount get_doclength(docid did) const =0
virtual termcount get_unique_terms(docid did) const =0
Get the number of unique terms in document.
An indexed database of documents.
Xapian::Internal::intrusive_ptr_nonnull< Internal > internal
Abstract base class for postlists.
virtual PostList * next(double w_min)=0
Advance the current position to the next document in the postlist.
virtual Xapian::docid get_docid() const =0
Return the current docid.
virtual bool at_end() const =0
Return true if the current position is past the last entry in this list.
virtual std::string get_description() const =0
Return a string description of this object.
virtual double get_weight(Xapian::termcount doclen, Xapian::termcount unique_terms, Xapian::termcount wdfdocmax) const =0
Return the weight contribution for the current position.
virtual Xapian::termcount count_matching_subqs() const
Count the number of leaf subqueries which match at the current position.
Abstract base class for weighting schemes.
Multi-database support functions.
Xapian::docid unshard(Xapian::docid shard_did, Xapian::doccount shard, Xapian::doccount n_shards)
Convert shard number and shard docid to docid in multi-db.
unsigned XAPIAN_TERMCOUNT_BASE_TYPE termcount
A counts of terms.
unsigned XAPIAN_DOCID_BASE_TYPE doccount
A count of documents.
unsigned XAPIAN_DOCID_BASE_TYPE docid
A unique identifier for a document.
Abstract base class for postlists.
A document which gets its values from a ValueStreamManager.