22 #ifndef XAPIAN_INCLUDED_QUERYOPTIMISER_H 23 #define XAPIAN_INCLUDED_QUERYOPTIMISER_H 69 : localsubmatch(localsubmatch_), total_subqs(0),
70 hint(0), hint_owned(
false),
72 shard_index(shard_index_),
73 db(db_), db_size(db.get_doccount()),
77 if (hint_owned)
delete hint;
93 return localsubmatch.
open_post_list(term, wqf, factor, need_positions,
94 in_synonym,
this,
false);
101 in_synonym,
this,
true);
122 if (pl == static_cast<PostList*>(hint)) {
138 #endif // XAPIAN_INCLUDED_QUERYOPTIMISER_H
bool full_db_has_positions() const
Abstract base class for postlists.
void set_total_subqs(Xapian::termcount n)
QueryOptimiser(const Xapian::Database::Internal &db_, LocalSubMatch &localsubmatch_, MultiMatch *matcher_, Xapian::doccount shard_index_)
const LeafPostList * get_hint_postlist() const
Base class for databases.
void set_hint_postlist(LeafPostList *new_hint)
Abstract base class for leaf postlists.
LocalSubMatch & localsubmatch
void destroy_postlist(PostList *pl)
Abstract base class for postlists.
void operator=(const QueryOptimiser &)
Prevent assignment.
unsigned XAPIAN_TERMCOUNT_BASE_TYPE termcount
A counts of terms.
Xapian::termcount get_total_subqs() const
PostList * make_synonym_postlist(PostList *pl, double factor, bool wdf_disjoint)
LeafPostList * open_lazy_post_list(const std::string &term, Xapian::termcount wqf, double factor)
SubMatch class for a local database.
LeafPostList * open_post_list(const std::string &term, Xapian::termcount wqf, double factor)
unsigned XAPIAN_DOCID_BASE_TYPE doccount
A count of documents.
const Xapian::Database::Internal & db
bool full_db_has_positions() const
LeafPostList * open_post_list(const std::string &term, Xapian::termcount wqf, double factor, bool need_positions, bool in_synonym, QueryOptimiser *qopt, bool lazy_weight)
PostList * make_synonym_postlist(PostList *or_pl, MultiMatch *matcher, double factor, bool wdf_disjoint)
Convert a postlist into a synonym postlist.
Xapian::termcount total_subqs
How many weighted leaf subqueries there are.
Xapian::doccount shard_index
QueryOptimiser(const QueryOptimiser &)
Prevent copying.