xapian-core
1.4.27
|
#include <chert_modifiedpostlist.h>
Public Member Functions | |
ChertModifiedPostList (Xapian::Internal::intrusive_ptr< const ChertDatabase > this_db_, const string &term_, const map< Xapian::docid, pair< char, Xapian::termcount > > &mods_, Xapian::termcount wdf_upper_bound_) | |
Constructor. More... | |
~ChertModifiedPostList () | |
Xapian::doccount | get_termfreq () const |
Return the exact term frequency. More... | |
Xapian::docid | get_docid () const |
Return the current docid. More... | |
Xapian::termcount | get_doclength () const |
Return the length of current document. More... | |
Xapian::termcount | get_unique_terms () const |
Return the number of unique terms in the current document. More... | |
Xapian::termcount | get_wdf () const |
Return the wdf for the document at the current position. More... | |
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... | |
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... | |
PostList * | next (double w_min) |
Advance the current position to the next document in the postlist. More... | |
PostList * | skip_to (Xapian::docid desired_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... | |
Public Member Functions inherited from ChertPostList | |
ChertPostList (Xapian::Internal::intrusive_ptr< const ChertDatabase > this_db_, const string &term, bool keep_reference) | |
Default constructor. More... | |
~ChertPostList () | |
Destructor. More... | |
bool | jump_to (Xapian::docid desired_did) |
Used for looking up doclens. More... | |
Xapian::doccount | get_termfreq () const |
Returns number of docs indexed by this term. More... | |
Xapian::docid | get_docid () const |
Returns the current docid. More... | |
Xapian::termcount | get_doclength () const |
Returns the length of current document. More... | |
Xapian::termcount | get_unique_terms () const |
Return the number of unique terms in the current document. More... | |
Xapian::termcount | get_wdf () const |
Returns the Within Document Frequency of the term in the current document. More... | |
PositionList * | read_position_list () |
Get the list of positions of the term in the current document. More... | |
PositionList * | open_position_list () const |
Get the list of positions of the term in the current document. More... | |
PostList * | next (double w_min) |
Move to the next document. More... | |
PostList * | skip_to (Xapian::docid desired_did, double w_min) |
Skip to next document with docid >= docid. More... | |
bool | at_end () const |
Return true if and only if we're off the end of the list. More... | |
Xapian::termcount | get_wdf_upper_bound () const |
std::string | get_description () const |
Get a description of the document. More... | |
Public Member Functions inherited from LeafPostList | |
~LeafPostList () | |
void | set_termweight (const Xapian::Weight *weight_) |
Set the weighting scheme to use during matching. More... | |
double | resolve_lazy_termweight (Xapian::Weight *weight_, Xapian::Weight::Internal *stats, Xapian::termcount qlen, Xapian::termcount wqf, double factor) |
Xapian::doccount | get_termfreq_min () const |
Get a lower bound on the number of documents indexed by this term. More... | |
Xapian::doccount | get_termfreq_max () const |
Get an upper 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... | |
double | get_maxweight () const |
Return an upper bound on what get_weight() can return. More... | |
double | get_weight () const |
Return the weight contribution for the current position. More... | |
double | recalc_maxweight () |
Recalculate the upper bound on what get_weight() can return. More... | |
TermFreqs | get_termfreq_est_using_stats (const Xapian::Weight::Internal &stats) const |
Get an estimate for the termfreq and reltermfreq, given the stats. More... | |
Xapian::termcount | count_matching_subqs () const |
Count the number of leaf subqueries which match at the current position. More... | |
void | gather_position_lists (OrPositionList *orposlist) |
Gather PositionList* objects for a subtree. More... | |
virtual LeafPostList * | open_nearby_postlist (const std::string &term_) const |
Open another postlist from the same database. More... | |
void | set_term (const std::string &term_) |
Set the term name. 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 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 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... | |
Public Member Functions inherited from Xapian::Internal::intrusive_base | |
intrusive_base () | |
Construct with no references. More... | |
Private Member Functions | |
void | skip_deletes (double w_min) |
Skip over deleted documents after a next() or skip_to(). More... | |
Private Attributes | |
PositionList * | poslist |
Pointer to PositionList returned from read_position_list to be deleted. More... | |
map< Xapian::docid, pair< char, Xapian::termcount > > | mods |
Modifications to apply to the ChertPostList. More... | |
map< Xapian::docid, pair< char, Xapian::termcount > >::const_iterator | it |
Modifications to apply to the ChertPostList. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from ChertPostList | |
static void | read_number_of_entries (const char **posptr, const char *end, Xapian::doccount *number_of_entries_ptr, Xapian::termcount *collection_freq_ptr) |
Read the number of entries and the collection frequency. More... | |
Public Attributes inherited from Xapian::Internal::intrusive_base | |
unsigned | _refs |
Reference count. More... | |
Protected Member Functions inherited from LeafPostList | |
LeafPostList (const std::string &term_) | |
Only constructable as a base class for derived classes. More... | |
Protected Member Functions inherited from Xapian::PostingIterator::Internal | |
Internal () | |
Only constructable as a base class for derived classes. More... | |
Protected Attributes inherited from ChertPostList | |
Xapian::Internal::intrusive_ptr< const ChertDatabase > | this_db |
The database we are searching. More... | |
ChertPositionList | positionlist |
The position list object for this posting list. More... | |
bool | have_started |
Whether we've started reading the list yet. More... | |
Xapian::termcount | wdf_upper_bound |
Upper bound on wdf for this postlist. More... | |
Protected Attributes inherited from LeafPostList | |
const Xapian::Weight * | weight |
bool | need_doclength |
bool | need_unique_terms |
std::string | term |
The term name for this postlist (empty for an alldocs postlist). More... | |
Definition at line 32 of file chert_modifiedpostlist.h.
|
inline |
Constructor.
Definition at line 47 of file chert_modifiedpostlist.h.
References ChertPostList::wdf_upper_bound.
ChertModifiedPostList::~ChertModifiedPostList | ( | ) |
Definition at line 27 of file chert_modifiedpostlist.cc.
References poslist.
|
virtual |
Return true if the current position is past the last entry in this list.
Implements Xapian::PostingIterator::Internal.
Definition at line 153 of file chert_modifiedpostlist.cc.
References ChertPostList::at_end(), it, and mods.
|
virtual |
Return a string description of this object.
Implements Xapian::PostingIterator::Internal.
Definition at line 158 of file chert_modifiedpostlist.cc.
References ChertPostList::get_description().
|
virtual |
Return the current docid.
Implements Xapian::PostingIterator::Internal.
Definition at line 57 of file chert_modifiedpostlist.cc.
References Assert, ChertPostList::at_end(), ChertPostList::get_docid(), it, and mods.
|
virtual |
Return the length of current document.
Implements Xapian::PostingIterator::Internal.
Definition at line 66 of file chert_modifiedpostlist.cc.
References ChertPostList::at_end(), ChertPostList::get_docid(), ChertPostList::get_doclength(), ChertDatabase::get_doclength(), it, LOGCALL, mods, RETURN, and ChertPostList::this_db.
|
virtual |
Return the exact term frequency.
Leaf postlists have an exact termfreq, which get_termfreq_min(), get_termfreq_max(), and get_termfreq_est() all report.
Implements LeafPostList.
Definition at line 49 of file chert_modifiedpostlist.cc.
References ChertDatabase::get_freqs(), LeafPostList::term, and ChertPostList::this_db.
|
virtual |
Return the number of unique terms in the current document.
Implements Xapian::PostingIterator::Internal.
Definition at line 75 of file chert_modifiedpostlist.cc.
References ChertPostList::at_end(), ChertPostList::get_docid(), ChertPostList::get_unique_terms(), ChertDatabase::get_unique_terms(), it, LOGCALL, mods, RETURN, and ChertPostList::this_db.
|
virtual |
Return the wdf for the document at the current position.
The default implementation throws Xapian::UnimplementedError.
Reimplemented from Xapian::PostingIterator::Internal.
Definition at line 84 of file chert_modifiedpostlist.cc.
References ChertPostList::at_end(), ChertPostList::get_docid(), ChertPostList::get_wdf(), it, and mods.
|
virtual |
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 119 of file chert_modifiedpostlist.cc.
References ChertPostList::at_end(), ChertPostList::get_docid(), ChertPostList::have_started, it, mods, Xapian::PostingIterator::Internal::next(), and skip_deletes().
|
virtual |
Read the position list for the term in the current document and return a pointer to it (not owned by the PostList).
The default implementation throws Xapian::UnimplementedError.
Reimplemented from Xapian::PostingIterator::Internal.
Definition at line 110 of file chert_modifiedpostlist.cc.
References ChertPostList::at_end(), ChertPostList::get_docid(), it, mods, ChertPostList::open_position_list(), ChertDatabase::open_position_list(), LeafPostList::term, and ChertPostList::this_db.
|
virtual |
Read the position list for the term in the current document and return a pointer to it (owned by the PostList).
The default implementation throws Xapian::UnimplementedError.
Reimplemented from Xapian::PostingIterator::Internal.
Definition at line 96 of file chert_modifiedpostlist.cc.
References ChertPostList::at_end(), ChertPostList::get_docid(), it, mods, ChertDatabase::open_position_list(), poslist, ChertPostList::read_position_list(), LeafPostList::term, and ChertPostList::this_db.
|
private |
Skip over deleted documents after a next() or skip_to().
Definition at line 33 of file chert_modifiedpostlist.cc.
References ChertPostList::at_end(), ChertPostList::get_docid(), it, mods, and Xapian::PostingIterator::Internal::next().
|
virtual |
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 143 of file chert_modifiedpostlist.cc.
References ChertPostList::at_end(), it, mods, skip_deletes(), and ChertPostList::skip_to().
|
private |
Modifications to apply to the ChertPostList.
Definition at line 36 of file chert_modifiedpostlist.h.
Referenced by at_end(), get_docid(), get_doclength(), get_unique_terms(), get_wdf(), next(), open_position_list(), read_position_list(), skip_deletes(), and skip_to().
|
private |
Modifications to apply to the ChertPostList.
Definition at line 35 of file chert_modifiedpostlist.h.
Referenced by at_end(), get_docid(), get_doclength(), get_unique_terms(), get_wdf(), next(), open_position_list(), read_position_list(), skip_deletes(), and skip_to().
|
private |
Pointer to PositionList returned from read_position_list to be deleted.
Definition at line 40 of file chert_modifiedpostlist.h.
Referenced by read_position_list(), and ~ChertModifiedPostList().