xapian-core
1.4.27
|
Public Member Functions | |
CheckStatsWeight (const Xapian::Database &db_, const string &term1_, const string &term2_, Xapian::termcount &sum_, Xapian::termcount &sum_squares_) | |
CheckStatsWeight (const Xapian::Database &db_, const string &term_, Xapian::termcount &sum_, Xapian::termcount &sum_squares_) | |
void | init (double factor_) override |
Allow the subclass to perform any initialisation it needs to. More... | |
Weight * | clone () const override |
Clone this object. More... | |
double | get_sumpart (Xapian::termcount wdf, Xapian::termcount doclen, Xapian::termcount uniqueterms) const override |
Calculate the weight contribution for this object's term to a document. More... | |
double | get_maxpart () const override |
Return an upper bound on what get_sumpart() can return for any document. More... | |
double | get_sumextra (Xapian::termcount doclen, Xapian::termcount) const override |
Calculate the term-independent weight component for a document. More... | |
double | get_maxextra () const override |
Return an upper bound on what get_sumextra() can return for any document. More... | |
Public Member Functions inherited from Xapian::Weight | |
Weight () | |
Default constructor, needed by subclass constructors. More... | |
virtual | ~Weight () |
Virtual destructor, because we have virtual methods. More... | |
virtual std::string | name () const |
Return the name of this weighting scheme. More... | |
virtual std::string | serialise () const |
Return this object's parameters serialised as a single string. More... | |
virtual Weight * | unserialise (const std::string &serialised) const |
Unserialise parameters. More... | |
Public Attributes | |
double | factor |
Xapian::Database | db |
string | term1 |
string | term2 |
Xapian::termcount & | sum |
Xapian::termcount & | sum_squares |
Xapian::termcount | len_upper |
Xapian::termcount | len_lower |
Xapian::termcount | wdf_upper |
Additional Inherited Members | |
Public Types inherited from Xapian::Weight | |
enum | type_smoothing { TWO_STAGE_SMOOTHING = 1, DIRICHLET_SMOOTHING = 2, ABSOLUTE_DISCOUNT_SMOOTHING = 3, JELINEK_MERCER_SMOOTHING = 4, DIRICHLET_PLUS_SMOOTHING = 5 } |
Type of smoothing to use with the Language Model Weighting scheme. More... | |
Protected Types inherited from Xapian::Weight | |
enum | stat_flags { COLLECTION_SIZE = 1, RSET_SIZE = 2, AVERAGE_LENGTH = 4, TERMFREQ = 8, RELTERMFREQ = 16, QUERY_LENGTH = 32, WQF = 64, WDF = 128, DOC_LENGTH = 256, DOC_LENGTH_MIN = 512, DOC_LENGTH_MAX = 1024, WDF_MAX = 2048, COLLECTION_FREQ = 4096, UNIQUE_TERMS = 8192, TOTAL_LENGTH = COLLECTION_SIZE | AVERAGE_LENGTH } |
Stats which the weighting scheme can use (see need_stat()). More... | |
Protected Member Functions inherited from Xapian::Weight | |
void | need_stat (stat_flags flag) |
Tell Xapian that your subclass will want a particular statistic. More... | |
Weight (const Weight &) | |
Don't allow copying. More... | |
Xapian::doccount | get_collection_size () const |
The number of documents in the collection. More... | |
Xapian::doccount | get_rset_size () const |
The number of documents marked as relevant. More... | |
Xapian::doclength | get_average_length () const |
The average length of a document in the collection. More... | |
Xapian::doccount | get_termfreq () const |
The number of documents which this term indexes. More... | |
Xapian::doccount | get_reltermfreq () const |
The number of relevant documents which this term indexes. More... | |
Xapian::termcount | get_collection_freq () const |
The collection frequency of the term. More... | |
Xapian::termcount | get_query_length () const |
The length of the query. More... | |
Xapian::termcount | get_wqf () const |
The within-query-frequency of this term. More... | |
Xapian::termcount | get_doclength_upper_bound () const |
An upper bound on the maximum length of any document in the shard. More... | |
Xapian::termcount | get_doclength_lower_bound () const |
A lower bound on the minimum length of any document in the shard. More... | |
Xapian::termcount | get_wdf_upper_bound () const |
An upper bound on the wdf of this term in the shard. More... | |
Xapian::totallength | get_total_length () const |
Total length of all documents in the collection. More... | |
Definition at line 764 of file api_weight.cc.
|
inline |
Definition at line 785 of file api_weight.cc.
|
inline |
Definition at line 811 of file api_weight.cc.
|
inlineoverridevirtual |
Clone this object.
This method allocates and returns a copy of the object it is called on.
If your subclass is called FooWeight and has parameters a and b, then you would implement FooWeight::clone() like so:
FooWeight * FooWeight::clone() const { return new FooWeight(a, b); }
Note that the returned object will be deallocated by Xapian after use with "delete". If you want to handle the deletion in a special way (for example when wrapping the Xapian API for use from another language) then you can define a static operator delete
method in your subclass as shown here: https://trac.xapian.org/ticket/554#comment:1
Implements Xapian::Weight.
Definition at line 821 of file api_weight.cc.
|
inlineoverridevirtual |
Return an upper bound on what get_sumextra() can return for any document.
This information is used by the matcher to perform various optimisations, so strive to make the bound as tight as possible.
Implements Xapian::Weight.
Definition at line 921 of file api_weight.cc.
|
inlineoverridevirtual |
Return an upper bound on what get_sumpart() can return for any document.
This information is used by the matcher to perform various optimisations, so strive to make the bound as tight as possible.
Implements Xapian::Weight.
Definition at line 907 of file api_weight.cc.
|
inlineoverridevirtual |
Calculate the term-independent weight component for a document.
The parameter gives information about the document which may be used in the calculations:
doclen | The document's length (unnormalised). |
uniqterms | The number of unique terms in the document. |
Implements Xapian::Weight.
Definition at line 916 of file api_weight.cc.
|
inlineoverridevirtual |
Calculate the weight contribution for this object's term to a document.
The parameters give information about the document which may be used in the calculations:
wdf | The within document frequency of the term in the document. |
doclen | The document's length (unnormalised). |
uniqterms | Number of unique terms in the document (used for absolute smoothing). |
Implements Xapian::Weight.
Definition at line 836 of file api_weight.cc.
References Xapian::Database::allterms_begin(), Xapian::Database::allterms_end(), Xapian::Database::get_avlength(), Xapian::Database::get_collection_freq(), Xapian::Database::get_doccount(), Xapian::Database::get_termfreq(), Xapian::Database::get_total_length(), TEST_EQUAL, TEST_REL, and tout.
|
inlineoverridevirtual |
Allow the subclass to perform any initialisation it needs to.
factor | Any scaling factor (e.g. from OP_SCALE_WEIGHT). If the Weight object is for the term-independent weight supplied by get_sumextra()/get_maxextra(), then init(0.0) is called (starting from Xapian 1.2.11 and 1.3.1 - earlier versions failed to call init() for such Weight objects). |
Implements Xapian::Weight.
Definition at line 817 of file api_weight.cc.
Xapian::Database CheckStatsWeight::db |
Definition at line 768 of file api_weight.cc.
double CheckStatsWeight::factor |
Definition at line 766 of file api_weight.cc.
|
mutable |
Definition at line 782 of file api_weight.cc.
|
mutable |
Definition at line 781 of file api_weight.cc.
Xapian::termcount& CheckStatsWeight::sum |
Definition at line 778 of file api_weight.cc.
Xapian::termcount& CheckStatsWeight::sum_squares |
Definition at line 779 of file api_weight.cc.
string CheckStatsWeight::term1 |
Definition at line 770 of file api_weight.cc.
|
mutable |
Definition at line 776 of file api_weight.cc.
|
mutable |
Definition at line 783 of file api_weight.cc.