xapian-core  1.4.21
Public Member Functions | List of all members
ZWeight Class Reference
+ Inheritance diagram for ZWeight:
+ Collaboration diagram for ZWeight:

Public Member Functions

 ZWeight ()
 
void init (double)
 Allow the subclass to perform any initialisation it needs to. More...
 
Weightclone () const
 Clone this object. More...
 
double get_sumpart (Xapian::termcount, Xapian::termcount, Xapian::termcount) const
 Calculate the weight contribution for this object's term to a document. More...
 
double get_maxpart () const
 Return an upper bound on what get_sumpart() can return for any document. More...
 
double get_sumextra (Xapian::termcount doclen, Xapian::termcount) const
 Calculate the term-independent weight component for a document. More...
 
double get_maxextra () const
 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 Weightunserialise (const std::string &serialised) const
 Unserialise parameters. More...
 

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 database. More...
 
Xapian::termcount get_doclength_lower_bound () const
 A lower bound on the minimum length of any document in the database. More...
 
Xapian::termcount get_wdf_upper_bound () const
 An upper bound on the wdf of this term. More...
 
Xapian::totallength get_total_length () const
 Total length of all documents in the collection. More...
 

Detailed Description

Definition at line 294 of file api_percentages.cc.

Constructor & Destructor Documentation

◆ ZWeight()

ZWeight::ZWeight ( )
inline

Definition at line 296 of file api_percentages.cc.

Member Function Documentation

◆ clone()

Weight* ZWeight::clone ( ) const
inlinevirtual

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 300 of file api_percentages.cc.

◆ get_maxextra()

double ZWeight::get_maxextra ( ) const
inlinevirtual

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 319 of file api_percentages.cc.

◆ get_maxpart()

double ZWeight::get_maxpart ( ) const
inlinevirtual

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 310 of file api_percentages.cc.

◆ get_sumextra()

double ZWeight::get_sumextra ( Xapian::termcount  doclen,
Xapian::termcount  uniqterms 
) const
inlinevirtual

Calculate the term-independent weight component for a document.

The parameter gives information about the document which may be used in the calculations:

Parameters
doclenThe document's length (unnormalised).
uniqtermsThe number of unique terms in the document.

Implements Xapian::Weight.

Definition at line 314 of file api_percentages.cc.

◆ get_sumpart()

double ZWeight::get_sumpart ( Xapian::termcount  wdf,
Xapian::termcount  doclen,
Xapian::termcount  uniqterms 
) const
inlinevirtual

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:

Parameters
wdfThe within document frequency of the term in the document.
doclenThe document's length (unnormalised).
uniqtermsNumber of unique terms in the document (used for absolute smoothing).

Implements Xapian::Weight.

Definition at line 304 of file api_percentages.cc.

◆ init()

void ZWeight::init ( double  factor)
inlinevirtual

Allow the subclass to perform any initialisation it needs to.

Parameters
factorAny 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 298 of file api_percentages.cc.


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