|
xapian-core
2.0.0
|
#include <queryinternal.h>
Inheritance diagram for Xapian::Internal::QueryBranch:
Collaboration diagram for Xapian::Internal::QueryBranch:Protected Member Functions | |
| QueryBranch (size_t n_subqueries) | |
| void | serialise_ (std::string &result, Xapian::termcount parameter=0) const |
| void | do_bool_or_like (OrContext &ctx, QueryOptimiser *qopt, TermFreqs *termfreqs, size_t first=0) const |
| void | do_or_like (OrContext &ctx, QueryOptimiser *qopt, double factor, TermFreqs *termfreqs, Xapian::termcount elite_set_size=0, size_t first=0, bool keep_zero_weight=true) const |
| Process OR-like subqueries. More... | |
| PostListAndEstimate | do_synonym (QueryOptimiser *qopt, double factor, TermFreqs *termfreqs) const |
| PostListAndEstimate | do_max (QueryOptimiser *qopt, double factor, TermFreqs *termfreqs) const |
| const std::string | get_description_helper (const char *op, Xapian::termcount window=0) const |
Protected Attributes | |
| QueryVector | subqueries |
Private Member Functions | |
| virtual Xapian::Query::op | get_op () const =0 |
Additional Inherited Members | |
Static Public Member Functions inherited from Xapian::Query::Internal | |
| static Query::Internal * | unserialise (const char **p, const char *end, const Registry ®) |
Public Attributes inherited from Xapian::Internal::intrusive_base | |
| unsigned | _refs |
| Reference count. More... | |
Definition at line 200 of file queryinternal.h.
|
inlineexplicitprotected |
Definition at line 206 of file queryinternal.h.
|
pure virtual |
Implemented in Xapian::Internal::QueryAndMaybe, Xapian::Internal::QueryAndNot, Xapian::Internal::QueryOrLike, and Xapian::Internal::QueryAndLike.
Referenced by Xapian::Query::add_subquery(), and Xapian::Query::Internal::unserialise().
|
protected |
Definition at line 2309 of file queryinternal.cc.
References Assert, Xapian::SmallVector< T >::begin(), Xapian::SmallVector< T >::end(), get_op(), LOGCALL_VOID, Xapian::Query::OP_SYNONYM, Xapian::SmallVector_::size(), and subqueries.
Referenced by do_max(), do_synonym(), Xapian::Internal::QueryOr::postlist(), Xapian::Internal::QueryAndNot::postlist_sub_and_like(), and Xapian::Internal::QueryOr::postlist_sub_bool_or_like().
|
protected |
Definition at line 2408 of file queryinternal.cc.
References Assert, do_bool_or_like(), do_or_like(), LOGCALL, Xapian::Internal::OrContext::postlist(), Xapian::Internal::OrContext::postlist_max(), RETURN, Xapian::SmallVector_::size(), and subqueries.
Referenced by Xapian::Internal::QueryMax::postlist().
|
protected |
Process OR-like subqueries.
| keep_zero_weight | By default zero-weight subqueries are kept, but in some situations (such as on the right side of OP_AND_MAYBE when not under OP_SYNONYM) they can be ignored. |
Definition at line 2332 of file queryinternal.cc.
References Assert, Xapian::SmallVector< T >::begin(), Xapian::SmallVector< T >::end(), get_op(), LOGCALL_VOID, Xapian::Query::OP_SYNONYM, Xapian::Internal::OrContext::select_elite_set(), Xapian::Internal::Context::size(), Xapian::SmallVector_::size(), and subqueries.
Referenced by do_max(), Xapian::Internal::QueryOr::postlist(), Xapian::Internal::QueryEliteSet::postlist(), Xapian::Internal::QueryAndMaybe::postlist_sub_and_like(), Xapian::Internal::QueryOr::postlist_sub_or_like(), and Xapian::Internal::QueryEliteSet::postlist_sub_or_like().
|
protected |
Definition at line 2372 of file queryinternal.cc.
References Assert, Xapian::Internal::QueryOptimiser::compound_weight, do_bool_or_like(), LOGCALL, Xapian::Internal::QueryOptimiser::make_synonym_postlist(), Xapian::Internal::PostListAndEstimate::pl, Xapian::Internal::OrContext::postlist(), RETURN, Xapian::SmallVector_::size(), and subqueries.
Referenced by Xapian::Internal::QuerySynonym::postlist().
|
pure virtual |
|
virtual |
Reimplemented from Xapian::Query::Internal.
Definition at line 2297 of file queryinternal.cc.
References Assert, Xapian::SmallVector< T >::begin(), Xapian::SmallVector< T >::end(), and subqueries.
|
protected |
Definition at line 2451 of file queryinternal.cc.
References Assert, Xapian::SmallVector< T >::begin(), Xapian::SmallVector< T >::end(), Xapian::Internal::str(), and subqueries.
Referenced by Xapian::Internal::QueryAnd::get_description(), Xapian::Internal::QueryOr::get_description(), Xapian::Internal::QueryAndNot::get_description(), Xapian::Internal::QueryXor::get_description(), Xapian::Internal::QueryAndMaybe::get_description(), Xapian::Internal::QueryFilter::get_description(), Xapian::Internal::QueryNear::get_description(), Xapian::Internal::QueryPhrase::get_description(), Xapian::Internal::QueryEliteSet::get_description(), Xapian::Internal::QuerySynonym::get_description(), and Xapian::Internal::QueryMax::get_description().
|
virtualnoexcept |
Reimplemented from Xapian::Query::Internal.
Definition at line 2206 of file queryinternal.cc.
References Xapian::SmallVector< T >::begin(), Xapian::SmallVector< T >::end(), and subqueries.
|
virtualnoexcept |
Reimplemented from Xapian::Query::Internal.
Definition at line 2439 of file queryinternal.cc.
References Xapian::SmallVector_::size(), and subqueries.
|
privatepure virtual |
Implemented in Xapian::Internal::QueryMax, Xapian::Internal::QuerySynonym, Xapian::Internal::QueryEliteSet, Xapian::Internal::QueryPhrase, Xapian::Internal::QueryNear, Xapian::Internal::QueryFilter, Xapian::Internal::QueryAndMaybe, Xapian::Internal::QueryXor, Xapian::Internal::QueryAndNot, Xapian::Internal::QueryOr, and Xapian::Internal::QueryAnd.
Referenced by do_bool_or_like(), do_or_like(), get_type(), and serialise_().
|
virtual |
Reimplemented from Xapian::Query::Internal.
Definition at line 2445 of file queryinternal.cc.
References subqueries.
|
virtualnoexcept |
Implements Xapian::Query::Internal.
Definition at line 2433 of file queryinternal.cc.
References get_op().
|
virtual |
Implements Xapian::Query::Internal.
Reimplemented in Xapian::Internal::QueryEliteSet, Xapian::Internal::QueryPhrase, and Xapian::Internal::QueryNear.
Definition at line 2270 of file queryinternal.cc.
References serialise_().
|
protected |
Definition at line 2223 of file queryinternal.cc.
References Assert, AssertRel, Xapian::SmallVector< T >::begin(), Xapian::SmallVector< T >::end(), get_op(), MISC, MULTIWAY, pack_uint(), Xapian::SmallVector_::size(), and subqueries.
Referenced by serialise(), Xapian::Internal::QueryNear::serialise(), Xapian::Internal::QueryPhrase::serialise(), and Xapian::Internal::QueryEliteSet::serialise().
|
protected |
Definition at line 204 of file queryinternal.h.
Referenced by Xapian::Internal::QueryAndLike::add_subquery(), Xapian::Internal::QueryOrLike::add_subquery(), Xapian::Internal::QueryAndNot::add_subquery(), Xapian::Internal::QueryAndMaybe::add_subquery(), do_bool_or_like(), do_max(), do_or_like(), do_synonym(), Xapian::Internal::QueryAndLike::done(), Xapian::Internal::QueryOrLike::done(), Xapian::Internal::QueryAndNot::done(), Xapian::Internal::QueryAndMaybe::done(), Xapian::Internal::QueryWindowed::done(), Xapian::Internal::QuerySynonym::done(), gather_terms(), Xapian::Internal::QuerySynonym::get_description(), get_description_helper(), get_length(), get_num_subqueries(), get_subquery(), Xapian::Internal::QueryAndLike::postlist(), Xapian::Internal::QueryOr::postlist(), Xapian::Internal::QueryXor::postlist(), Xapian::Internal::QueryFilter::postlist(), Xapian::Internal::QueryEliteSet::postlist(), Xapian::Internal::QueryAndLike::postlist_sub_and_like(), Xapian::Internal::QueryAndNot::postlist_sub_and_like(), Xapian::Internal::QueryAndMaybe::postlist_sub_and_like(), Xapian::Internal::QueryFilter::postlist_sub_and_like(), Xapian::Internal::QueryXor::postlist_sub_xor(), Xapian::Internal::QueryWindowed::postlist_windowed(), and serialise_().