37 ExpandWeight::collect_stats(
TermList * merger,
const std::string & term)
39 LOGCALL_VOID(API,
"ExpandWeight::collect_stats", merger | term);
45 if (want_collection_freq)
46 collection_freq = db.get_collection_freq(term);
53 if (stats.dbsize == dbsize) {
64 if (use_exact_termfreq) {
65 LOGLINE(EXPAND,
"Had to request exact termfreq");
66 stats.termfreq = db.get_termfreq(term);
70 double tf = double(stats.termfreq) * dbsize / stats.dbsize;
71 LOGLINE(EXPAND,
"termfreq is approx " << stats.termfreq <<
" * " <<
72 dbsize <<
" / " << stats.dbsize <<
" = " <<
84 auto termfreq_upper_bound = dbsize - (rsize - stats.rtermfreq);
85 if (stats.termfreq > termfreq_upper_bound) {
86 LOGLINE(EXPAND,
"termfreq can't be more than " 87 "dbsize - (rsize + rtermfreq)");
88 stats.termfreq = termfreq_upper_bound;
The Xapian namespace contains public interfaces for the Xapian library.
#define AssertRel(A, REL, B)
#define LOGCALL_VOID(CATEGORY, FUNC, PARAMS)
virtual void accumulate_stats(Xapian::Internal::ExpandStats &stats) const
Collate weighting information for the current term.
Abstract base class for termlists.
Collate statistics and calculate the term weights for the ESet.
#define AssertEqParanoid(A, B)
unsigned XAPIAN_DOCID_BASE_TYPE doccount
A count of documents.
Abstract base class for termlists.
Various assertion macros.