|
xapian-core
2.0.0
|
#include <queryinternal.h>
Inheritance diagram for Xapian::Internal::QueryWildcard:
Collaboration diagram for Xapian::Internal::QueryWildcard:Public Member Functions | |
| QueryWildcard (std::string_view pattern_, Xapian::termcount max_expansion_, int flags_, Query::op combiner_) | |
| bool | test_prefix_known (const std::string &candidate) const |
| Perform wildcard test on candidate known to match prefix. More... | |
| bool | test (const std::string &candidate) const |
| Perform full wildcard test on candidate. More... | |
| Xapian::Query::op | get_type () const noexcept |
| std::string | get_pattern () const |
| Xapian::termcount | get_max_expansion () const |
| int | get_just_flags () const |
| int | get_max_type () const |
| PostListAndEstimate | postlist (QueryOptimiser *qopt, double factor, TermFreqs *termfreqs) const |
| termcount | get_length () const noexcept |
| void | serialise (std::string &result) const |
| QueryWildcard * | change_combiner (Xapian::Query::op new_op) |
| Change the combining operator. More... | |
| std::string | get_fixed_prefix () const |
| Return the fixed prefix from the wildcard pattern. More... | |
| std::string | get_description () const |
Public Member Functions inherited from Xapian::Query::Internal | |
| Internal () noexcept | |
| virtual | ~Internal () |
| virtual bool | postlist_sub_and_like (Xapian::Internal::AndContext &ctx, Xapian::Internal::QueryOptimiser *qopt, double factor, Xapian::Internal::TermFreqs *termfreqs) const |
| virtual void | postlist_sub_bool_or_like (Xapian::Internal::OrContext &ctx, Xapian::Internal::QueryOptimiser *qopt, Xapian::Internal::TermFreqs *termfreqs) const |
| virtual void | postlist_sub_or_like (Xapian::Internal::OrContext &ctx, Xapian::Internal::QueryOptimiser *qopt, double factor, Xapian::Internal::TermFreqs *termfreqs, bool keep_zero_weight=true) const |
| virtual void | postlist_sub_xor (Xapian::Internal::XorContext &ctx, Xapian::Internal::QueryOptimiser *qopt, double factor, Xapian::Internal::TermFreqs *termfreqs) const |
| virtual size_t | get_num_subqueries () const noexcept |
| virtual const Query | get_subquery (size_t n) const |
| virtual termcount | get_wqf () const |
| virtual termpos | get_pos () const |
| virtual void | gather_terms (void *void_terms) const |
Public Member Functions inherited from Xapian::Internal::intrusive_base | |
| intrusive_base () | |
| Construct with no references. More... | |
Private Member Functions | |
| bool | test_wildcard_ (const std::string &candidate, size_t o, size_t p, size_t i) const |
Private Attributes | |
| std::string | pattern |
| Xapian::termcount | max_expansion |
| int | flags |
| Query::op | combiner |
| size_t | head = 0 |
| Fixed head and tail lengths, and min/max length term that can match. More... | |
| size_t | tail = 0 |
| size_t | min_len = 0 |
| size_t | max_len = 0 |
| size_t | min_check_len = size_t(-1) |
| std::string | prefix |
| std::string | suffix |
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 500 of file queryinternal.h.
| Xapian::Internal::QueryWildcard::QueryWildcard | ( | std::string_view | pattern_, |
| Xapian::termcount | max_expansion_, | ||
| int | flags_, | ||
| Query::op | combiner_ | ||
| ) |
Definition at line 1830 of file queryinternal.cc.
References flags, head, max_len, MAX_UTF_8_CHARACTER_LENGTH, min_check_len, min_len, pattern, prefix, suffix, tail, Xapian::Query::WILDCARD_LIMIT_MASK_, Xapian::Query::WILDCARD_PATTERN_MULTI, and Xapian::Query::WILDCARD_PATTERN_SINGLE.
|
inline |
Change the combining operator.
If there's only one reference to this object we change in-place and return a pointer to the existing object; otherwise we create and return a new QueryWildcard object.
Definition at line 574 of file queryinternal.h.
References Xapian::Internal::intrusive_base::_refs.
Referenced by Xapian::Internal::QuerySynonym::done().
|
virtual |
Implements Xapian::Query::Internal.
Definition at line 2066 of file queryinternal.cc.
References combiner, description_append(), Xapian::Query::OP_MAX, Xapian::Query::OP_OR, Xapian::Query::OP_SYNONYM, and pattern.
|
inline |
Return the fixed prefix from the wildcard pattern.
Definition at line 586 of file queryinternal.h.
|
inline |
Definition at line 552 of file queryinternal.h.
|
virtualnoexcept |
Reimplemented from Xapian::Query::Internal.
Definition at line 2040 of file queryinternal.cc.
|
inline |
Definition at line 550 of file queryinternal.h.
|
inline |
Definition at line 556 of file queryinternal.h.
References Xapian::Query::WILDCARD_LIMIT_MASK_.
|
inline |
Definition at line 548 of file queryinternal.h.
|
virtualnoexcept |
Implements Xapian::Query::Internal.
Definition at line 2060 of file queryinternal.cc.
References Xapian::Query::OP_WILDCARD.
|
virtual |
Implements Xapian::Query::Internal.
Definition at line 1986 of file queryinternal.cc.
References combiner, Xapian::Internal::QueryOptimiser::compound_weight, Xapian::Internal::Context::empty(), Xapian::Internal::Context::expand_wildcard(), Xapian::Internal::QueryOptimiser::get_total_subqs(), Xapian::Internal::QueryOptimiser::inc_total_subqs(), LOGCALL, Xapian::Internal::QueryOptimiser::make_synonym_postlist(), Xapian::Query::OP_MAX, Xapian::Query::OP_OR, Xapian::Query::OP_SYNONYM, Xapian::Internal::OrContext::postlist(), Xapian::Internal::OrContext::postlist_max(), RETURN, Xapian::Internal::QueryOptimiser::set_total_subqs(), and Xapian::Internal::Context::size().
|
virtual |
Implements Xapian::Query::Internal.
Definition at line 2050 of file queryinternal.cc.
References combiner, flags, max_expansion, pack_string(), pack_uint(), and pattern.
|
inline |
Perform full wildcard test on candidate.
Definition at line 542 of file queryinternal.h.
References startswith().
| bool Xapian::Internal::QueryWildcard::test_prefix_known | ( | const std::string & | candidate | ) | const |
Perform wildcard test on candidate known to match prefix.
Definition at line 1972 of file queryinternal.cc.
References endswith(), head, max_len, min_check_len, min_len, prefix, suffix, and test_wildcard_().
|
private |
Definition at line 1925 of file queryinternal.cc.
References flags, p, pattern, rare, tail, Xapian::Query::WILDCARD_PATTERN_MULTI, and Xapian::Query::WILDCARD_PATTERN_SINGLE.
Referenced by test_prefix_known().
|
private |
Definition at line 507 of file queryinternal.h.
Referenced by get_description(), postlist(), and serialise().
|
private |
Definition at line 505 of file queryinternal.h.
Referenced by QueryWildcard(), serialise(), and test_wildcard_().
|
private |
Fixed head and tail lengths, and min/max length term that can match.
All in bytes.
Definition at line 513 of file queryinternal.h.
Referenced by QueryWildcard(), and test_prefix_known().
|
private |
Definition at line 503 of file queryinternal.h.
Referenced by serialise().
|
private |
Definition at line 513 of file queryinternal.h.
Referenced by QueryWildcard(), and test_prefix_known().
|
private |
Definition at line 525 of file queryinternal.h.
Referenced by QueryWildcard(), and test_prefix_known().
|
private |
Definition at line 513 of file queryinternal.h.
Referenced by QueryWildcard(), and test_prefix_known().
|
private |
Definition at line 501 of file queryinternal.h.
Referenced by get_description(), QueryWildcard(), serialise(), and test_wildcard_().
|
private |
Definition at line 527 of file queryinternal.h.
Referenced by QueryWildcard(), and test_prefix_known().
|
private |
Definition at line 527 of file queryinternal.h.
Referenced by QueryWildcard(), and test_prefix_known().
|
private |
Definition at line 513 of file queryinternal.h.
Referenced by QueryWildcard(), and test_wildcard_().