xapian-core  2.0.0
Public Member Functions | Private Attributes | List of all members
Xapian::Internal::QueryEditDistance Class Reference

#include <queryinternal.h>

+ Inheritance diagram for Xapian::Internal::QueryEditDistance:
+ Collaboration diagram for Xapian::Internal::QueryEditDistance:

Public Member Functions

 QueryEditDistance (std::string_view pattern_, Xapian::termcount max_expansion_, int flags_, Query::op combiner_, unsigned edit_distance_=2, size_t fixed_prefix_len_=0)
 
int test (const std::string &candidate) const
 Perform edit distance test. More...
 
Xapian::Query::op get_type () const noexcept
 
std::string get_pattern () const
 
size_t get_fixed_prefix_len () const
 
Xapian::termcount get_max_expansion () const
 
int get_just_flags () const
 
int get_max_type () const
 
unsigned get_threshold () const
 
PostListAndEstimate postlist (QueryOptimiser *qopt, double factor, TermFreqs *termfreqs) const
 
termcount get_length () const noexcept
 
void serialise (std::string &result) const
 
QueryEditDistancechange_combiner (Xapian::Query::op new_op)
 Change the combining operator. 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 Attributes

std::string pattern
 
Xapian::termcount max_expansion
 
int flags
 
Query::op combiner
 
EditDistanceCalculator edcalc
 
unsigned edit_distance
 
size_t fixed_prefix_len
 

Additional Inherited Members

- Static Public Member Functions inherited from Xapian::Query::Internal
static Query::Internalunserialise (const char **p, const char *end, const Registry &reg)
 
- Public Attributes inherited from Xapian::Internal::intrusive_base
unsigned _refs
 Reference count. More...
 

Detailed Description

Definition at line 591 of file queryinternal.h.

Constructor & Destructor Documentation

◆ QueryEditDistance()

Xapian::Internal::QueryEditDistance::QueryEditDistance ( std::string_view  pattern_,
Xapian::termcount  max_expansion_,
int  flags_,
Query::op  combiner_,
unsigned  edit_distance_ = 2,
size_t  fixed_prefix_len_ = 0 
)
inline

Definition at line 607 of file queryinternal.h.

Member Function Documentation

◆ change_combiner()

QueryEditDistance* Xapian::Internal::QueryEditDistance::change_combiner ( Xapian::Query::op  new_op)
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 QueryEditDistance object.

Definition at line 661 of file queryinternal.h.

References Xapian::Internal::intrusive_base::_refs.

Referenced by Xapian::Internal::QuerySynonym::done().

◆ get_description()

string Xapian::Internal::QueryEditDistance::get_description ( ) const
virtual

◆ get_fixed_prefix_len()

size_t Xapian::Internal::QueryEditDistance::get_fixed_prefix_len ( ) const
inline

Definition at line 631 of file queryinternal.h.

◆ get_just_flags()

int Xapian::Internal::QueryEditDistance::get_just_flags ( ) const
inline

Definition at line 635 of file queryinternal.h.

◆ get_length()

termcount Xapian::Internal::QueryEditDistance::get_length ( ) const
virtualnoexcept

Reimplemented from Xapian::Query::Internal.

Definition at line 2150 of file queryinternal.cc.

◆ get_max_expansion()

Xapian::termcount Xapian::Internal::QueryEditDistance::get_max_expansion ( ) const
inline

Definition at line 633 of file queryinternal.h.

◆ get_max_type()

int Xapian::Internal::QueryEditDistance::get_max_type ( ) const
inline

Definition at line 639 of file queryinternal.h.

References Xapian::Query::WILDCARD_LIMIT_MASK_.

◆ get_pattern()

std::string Xapian::Internal::QueryEditDistance::get_pattern ( ) const
inline

Definition at line 629 of file queryinternal.h.

◆ get_threshold()

unsigned Xapian::Internal::QueryEditDistance::get_threshold ( ) const
inline

Definition at line 643 of file queryinternal.h.

Referenced by test().

◆ get_type()

Query::op Xapian::Internal::QueryEditDistance::get_type ( ) const
virtualnoexcept

Implements Xapian::Query::Internal.

Definition at line 2172 of file queryinternal.cc.

References Xapian::Query::OP_EDIT_DISTANCE.

◆ postlist()

PostListAndEstimate Xapian::Internal::QueryEditDistance::postlist ( QueryOptimiser qopt,
double  factor,
TermFreqs termfreqs 
) const
virtual

◆ serialise()

void Xapian::Internal::QueryEditDistance::serialise ( std::string &  result) const
virtual

◆ test()

int Xapian::Internal::QueryEditDistance::test ( const std::string &  candidate) const

Perform edit distance test.

Returns
edit_distance + 1, or 0 for a non-match.

Definition at line 2088 of file queryinternal.cc.

References edcalc, and get_threshold().

Member Data Documentation

◆ combiner

Query::op Xapian::Internal::QueryEditDistance::combiner
private

Definition at line 598 of file queryinternal.h.

Referenced by get_description(), postlist(), and serialise().

◆ edcalc

EditDistanceCalculator Xapian::Internal::QueryEditDistance::edcalc
private

Definition at line 600 of file queryinternal.h.

Referenced by test().

◆ edit_distance

unsigned Xapian::Internal::QueryEditDistance::edit_distance
private

Definition at line 602 of file queryinternal.h.

Referenced by get_description(), and serialise().

◆ fixed_prefix_len

size_t Xapian::Internal::QueryEditDistance::fixed_prefix_len
private

Definition at line 604 of file queryinternal.h.

Referenced by get_description(), and serialise().

◆ flags

int Xapian::Internal::QueryEditDistance::flags
private

Definition at line 596 of file queryinternal.h.

Referenced by serialise().

◆ max_expansion

Xapian::termcount Xapian::Internal::QueryEditDistance::max_expansion
private

Definition at line 594 of file queryinternal.h.

Referenced by serialise().

◆ pattern

std::string Xapian::Internal::QueryEditDistance::pattern
private

Definition at line 592 of file queryinternal.h.

Referenced by get_description(), and serialise().


The documentation for this class was generated from the following files: