21 #ifndef XAPIAN_INCLUDED_MATCHER_H
22 #define XAPIAN_INCLUDED_MATCHER_H
25 # error config.h must be included first in each C++ source file
56 std::vector<std::unique_ptr<LocalSubMatch>>
locals;
58 #ifdef XAPIAN_HAS_REMOTE_BACKEND
78 std::vector<std::unique_ptr<RemoteSubMatch>>
remotes;
102 int percent_threshold,
103 double percent_threshold_factor,
104 double weight_threshold,
108 bool sort_val_reverse,
110 const std::vector<opt_ptr_spy>& matchspies);
148 int percent_threshold,
149 double weight_threshold,
153 bool sort_val_reverse,
155 const std::vector<opt_ptr_spy>& matchspies);
202 int percent_threshold,
203 double weight_threshold,
207 bool sort_val_reverse,
209 const std::vector<opt_ptr_spy>& matchspies);
static Xapian::Query query(Xapian::Query::op op, const string &t1=string(), const string &t2=string(), const string &t3=string(), const string &t4=string(), const string &t5=string(), const string &t6=string(), const string &t7=string(), const string &t8=string(), const string &t9=string(), const string &t10=string())
Xapian::MSet get_mset(Xapian::doccount first, Xapian::doccount maxitems, Xapian::doccount check_at_least, Xapian::Weight::Internal &stats, const Xapian::Weight &wtscheme, const Xapian::MatchDecider *mdecider, const Xapian::KeyMaker *sorter, Xapian::valueno collapse_key, Xapian::doccount collapse_max, int percent_threshold, double weight_threshold, Xapian::Enquire::docid_order order, Xapian::valueno sort_key, Xapian::Enquire::Internal::sort_setting sort_by, bool sort_val_reverse, double time_limit, const std::vector< opt_ptr_spy > &matchspies)
Run the match and produce an MSet object.
Xapian::Internal::opt_intrusive_ptr< Xapian::MatchSpy > opt_ptr_spy
Matcher(const Xapian::Database &db_, const Xapian::Query &query, Xapian::termcount query_length, const Xapian::RSet *rset, Xapian::Weight::Internal &stats, const Xapian::Weight &wtscheme, bool have_mdecider, Xapian::valueno collapse_key, Xapian::doccount collapse_max, int percent_threshold, double weight_threshold, Xapian::Enquire::docid_order order, Xapian::valueno sort_key, Xapian::Enquire::Internal::sort_setting sort_by, bool sort_val_reverse, double time_limit, const std::vector< opt_ptr_spy > &matchspies)
Constructor.
std::vector< std::unique_ptr< LocalSubMatch > > locals
LocalSubMatch objects for local databases.
std::size_t first_nonselectable
Partition point in remotes.
Xapian::MSet get_local_mset(Xapian::doccount first, Xapian::doccount maxitems, Xapian::doccount check_at_least, const Xapian::Weight &wtscheme, const Xapian::MatchDecider *mdecider, const Xapian::KeyMaker *sorter, Xapian::valueno collapse_key, Xapian::doccount collapse_max, int percent_threshold, double percent_threshold_factor, double weight_threshold, Xapian::Enquire::docid_order order, Xapian::valueno sort_key, Xapian::Enquire::Internal::sort_setting sort_by, bool sort_val_reverse, double time_limit, const std::vector< opt_ptr_spy > &matchspies)
Matcher & operator=(const Matcher &)=delete
std::vector< std::unique_ptr< RemoteSubMatch > > remotes
RemoteSubMatch objects for remote databases.
void for_all_remotes(Action action)
Perform action on remotes as they become ready using poll() or select().
Matcher(const Matcher &)=delete
An indexed database of documents.
docid_order
Ordering of docids.
Virtual base class for key making functors.
Class representing a list of search results.
Abstract base class for match deciders.
Class representing a query.
Class representing a set of documents judged as relevant.
Class to hold statistics for a given collection.
Abstract base class for weighting schemes.
An indexed database of documents.
Xapian::Enquire internals.
SubMatch class for a local database.
The Xapian namespace contains public interfaces for the Xapian library.
unsigned XAPIAN_TERMCOUNT_BASE_TYPE termcount
A counts of terms.
unsigned valueno
The number for a value slot in a document.
unsigned XAPIAN_DOCID_BASE_TYPE doccount
A count of documents.
SubMatch class for a remote database.
Xapian::Weight::Internal class, holding database and term statistics.