|
xapian-core
1.4.30
|
A postlist which adds on an extra weight contribution. More...
#include <extraweightpostlist.h>
Inheritance diagram for ExtraWeightPostList:
Collaboration diagram for ExtraWeightPostList:Public Member Functions | |
| Xapian::doccount | get_termfreq_max () const |
| Get an upper bound on the number of documents indexed by this term. More... | |
| Xapian::doccount | get_termfreq_min () const |
| Get a lower bound on the number of documents indexed by this term. More... | |
| Xapian::doccount | get_termfreq_est () const |
| Get an estimate of the number of documents indexed by this term. More... | |
| Xapian::docid | get_docid () const |
| Return the current docid. More... | |
| double | get_weight () const |
| Return the weight contribution for the current position. More... | |
| double | get_maxweight () const |
| Return an upper bound on what get_weight() can return. More... | |
| double | recalc_maxweight () |
| Recalculate the upper bound on what get_weight() can return. More... | |
| PostList * | next (double w_min) |
| Advance the current position to the next document in the postlist. More... | |
| PostList * | skip_to (Xapian::docid did, double w_min) |
| Skip forward to the specified docid. More... | |
| bool | at_end () const |
| Return true if the current position is past the last entry in this list. More... | |
| std::string | get_description () const |
| Return a string description of this object. More... | |
| virtual Xapian::termcount | get_doclength () const |
| Return the document length of the document the current term comes from. More... | |
| virtual Xapian::termcount | get_unique_terms () const |
| Return the number of unique terms in the current document. More... | |
| ExtraWeightPostList (PostList *pl_, Xapian::Weight *wt_, MultiMatch *matcher_) | |
| ~ExtraWeightPostList () | |
| Xapian::termcount | count_matching_subqs () const |
| Count the number of leaf subqueries which match at the current position. More... | |
Public Member Functions inherited from Xapian::PostingIterator::Internal | |
| virtual | ~Internal () |
| We have virtual methods and want to be able to delete derived classes using a pointer to the base class, so we need a virtual destructor. More... | |
| virtual TermFreqs | get_termfreq_est_using_stats (const Xapian::Weight::Internal &stats) const |
| Get an estimate for the termfreq and reltermfreq, given the stats. More... | |
| virtual Xapian::termcount | get_wdf () const |
| Return the wdf for the document at the current position. More... | |
| virtual const std::string * | get_sort_key () const |
| virtual const std::string * | get_collapse_key () const |
| If the collapse key is already known, return it. More... | |
| virtual PositionList * | read_position_list () |
| Read the position list for the term in the current document and return a pointer to it (owned by the PostList). More... | |
| virtual PositionList * | open_position_list () const |
| Read the position list for the term in the current document and return a pointer to it (not owned by the PostList). More... | |
| virtual Internal * | check (Xapian::docid did, double w_min, bool &valid) |
| Check if the specified docid occurs in this postlist. More... | |
| Internal * | next () |
| Advance the current position to the next document in the postlist. More... | |
| Internal * | skip_to (Xapian::docid did) |
| Skip forward to the specified docid. More... | |
| virtual void | gather_position_lists (OrPositionList *orposlist) |
| Gather PositionList* objects for a subtree. More... | |
Public Member Functions inherited from Xapian::Internal::intrusive_base | |
| intrusive_base () | |
| Construct with no references. More... | |
Private Attributes | |
| PostList * | pl |
| Xapian::Weight * | wt |
| MultiMatch * | matcher |
| double | max_weight |
Additional Inherited Members | |
Public Attributes inherited from Xapian::Internal::intrusive_base | |
| unsigned | _refs |
| Reference count. More... | |
Protected Member Functions inherited from Xapian::PostingIterator::Internal | |
| Internal () | |
| Only constructable as a base class for derived classes. More... | |
A postlist which adds on an extra weight contribution.
Definition at line 35 of file extraweightpostlist.h.
|
inline |
Definition at line 110 of file extraweightpostlist.h.
|
inline |
Definition at line 116 of file extraweightpostlist.h.
|
inlinevirtual |
Return true if the current position is past the last entry in this list.
Implements Xapian::PostingIterator::Internal.
Definition at line 93 of file extraweightpostlist.h.
References Xapian::PostingIterator::Internal::at_end(), and pl.
|
inlinevirtual |
Count the number of leaf subqueries which match at the current position.
Reimplemented from Xapian::PostingIterator::Internal.
Definition at line 121 of file extraweightpostlist.h.
References Xapian::PostingIterator::Internal::count_matching_subqs(), and pl.
|
inlinevirtual |
Return a string description of this object.
Implements Xapian::PostingIterator::Internal.
Definition at line 95 of file extraweightpostlist.h.
References Xapian::PostingIterator::Internal::get_description(), and pl.
|
inlinevirtual |
Return the current docid.
Implements Xapian::PostingIterator::Internal.
Definition at line 53 of file extraweightpostlist.h.
References Xapian::PostingIterator::Internal::get_docid(), and pl.
|
inlinevirtual |
Return the document length of the document the current term comes from.
Implements Xapian::PostingIterator::Internal.
Definition at line 102 of file extraweightpostlist.h.
References Xapian::PostingIterator::Internal::get_doclength(), and pl.
|
inlinevirtual |
Return an upper bound on what get_weight() can return.
Implements Xapian::PostingIterator::Internal.
Definition at line 65 of file extraweightpostlist.h.
References Xapian::PostingIterator::Internal::get_maxweight(), max_weight, and pl.
|
inlinevirtual |
Get an estimate of the number of documents indexed by this term.
It should always be true that: get_termfreq_min() <= get_termfreq_est() <= get_termfreq_max()
Implements Xapian::PostingIterator::Internal.
Definition at line 49 of file extraweightpostlist.h.
References Xapian::PostingIterator::Internal::get_termfreq_est(), and pl.
|
inlinevirtual |
Get an upper bound on the number of documents indexed by this term.
Implements Xapian::PostingIterator::Internal.
Definition at line 43 of file extraweightpostlist.h.
References Xapian::PostingIterator::Internal::get_termfreq_max(), and pl.
|
inlinevirtual |
Get a lower bound on the number of documents indexed by this term.
Implements Xapian::PostingIterator::Internal.
Definition at line 46 of file extraweightpostlist.h.
References Xapian::PostingIterator::Internal::get_termfreq_min(), and pl.
|
inlinevirtual |
Return the number of unique terms in the current document.
Implements Xapian::PostingIterator::Internal.
Definition at line 106 of file extraweightpostlist.h.
References Xapian::PostingIterator::Internal::get_unique_terms(), and pl.
|
inlinevirtual |
Return the weight contribution for the current position.
Implements Xapian::PostingIterator::Internal.
Definition at line 55 of file extraweightpostlist.h.
References AssertRel, Xapian::PostingIterator::Internal::get_doclength(), Xapian::Weight::get_sumextra(), Xapian::PostingIterator::Internal::get_weight(), max_weight, pl, and wt.
|
inlinevirtual |
Advance the current position to the next document in the postlist.
The list starts before the first entry in the list, so next(), skip_to() or check() must be called before any methods which need the context of the current position.
| w_min | The minimum weight contribution that is needed (this is just a hint which PostList subclasses may ignore). |
Implements Xapian::PostingIterator::Internal.
Definition at line 73 of file extraweightpostlist.h.
References matcher, max_weight, Xapian::PostingIterator::Internal::next(), pl, and MultiMatch::recalc_maxweight().
|
inlinevirtual |
Recalculate the upper bound on what get_weight() can return.
If the tree has pruned, get_maxweight() may use cached values. Calling this method instead forces a full recalculation.
Note that this method may be called after the postlist has reached the end. In this situation, the method should return 0.
Implements Xapian::PostingIterator::Internal.
Definition at line 69 of file extraweightpostlist.h.
References max_weight, pl, and Xapian::PostingIterator::Internal::recalc_maxweight().
|
inlinevirtual |
Skip forward to the specified docid.
If the specified docid isn't in the list, position ourselves on the first document after it (or at_end() if no greater docids are present).
| w_min | The minimum weight contribution that is needed (this is just a hint which PostList subclasses may ignore). |
Implements Xapian::PostingIterator::Internal.
Definition at line 83 of file extraweightpostlist.h.
References matcher, max_weight, pl, MultiMatch::recalc_maxweight(), and Xapian::PostingIterator::Internal::skip_to().
|
private |
Definition at line 39 of file extraweightpostlist.h.
|
private |
Definition at line 40 of file extraweightpostlist.h.
Referenced by get_maxweight(), get_weight(), next(), recalc_maxweight(), and skip_to().
|
private |
Definition at line 37 of file extraweightpostlist.h.
Referenced by at_end(), count_matching_subqs(), get_description(), get_docid(), get_doclength(), get_maxweight(), get_termfreq_est(), get_termfreq_max(), get_termfreq_min(), get_unique_terms(), get_weight(), next(), recalc_maxweight(), skip_to(), and ~ExtraWeightPostList().
|
private |
Definition at line 38 of file extraweightpostlist.h.
Referenced by get_weight(), and ~ExtraWeightPostList().