#include <xapian.h>
Public Member Functions | |
Source () | |
Xapian::Database & | db () |
Access the Xapian database. | |
const Xapian::Database & | db () const |
Access the Xapian database. | |
void | open () const |
void | invalidate () |
time_t | timestamp () const |
Timestamp of when the Xapian database was last updated. | |
void | updateLeniently (AptDatabase &apt, OpProgress *op=0) |
void | update (OpProgress *op=0) |
bool | hasData () const |
Returns true if the index has data. | |
Query | query (const std::string &s, bool expand=true, int qualityCutoff=50) |
Query | partialQuery (const std::string &s) |
Xapian::docid | docidByName (const std::string &pkgname) const |
Returns true if the index is older than the Apt database information. | |
Xapian::Query | makeORQuery (const std::string &keywords) const |
Tokenize the string and build an OR query with the resulting keywords. | |
Xapian::Query | makePartialORQuery (const std::string &keywords) const |
Tokenize the string and build an OR query with the resulting keywords. | |
template<typename ITER > | |
Xapian::Query | makeORQuery (const ITER &begin, const ITER &end) const |
Build a query with the given keywords, specified as iterators of strings. | |
std::vector< std::string > | expand (Xapian::Enquire &enq) const |
Return a list of tag-based terms that can be used to expand an OR query. | |
Xapian::Query | makeRelatedQuery (const std::string &pkgname) const |
Create a query to look for packages similar to the given one. | |
double | getDoubleValue (const std::string &pkgname, Xapian::valueno val_id) const |
Get the integer value for. | |
int | getIntValue (const std::string &pkgname, Xapian::valueno val_id) const |
Get the integer value for. | |
Protected Member Functions | |
void | normalize_and_add (Xapian::Document &doc, const std::string &term, int &pos) const |
Add normalised tokens computed from the string to the document doc. | |
Static Protected Member Functions | |
static std::string | toLower (const std::string &str) |
Return a lowercased copy of the string. | |
Protected Attributes | |
Xapian::Database | m_db |
Xapian::Stem | m_stem |
bool | m_opened |
ept::core::xapian::Source::Source | ( | ) |
Xapian::Database& ept::core::xapian::Source::db | ( | ) | [inline] |
Access the Xapian database.
Referenced by getDoubleValue(), getIntValue(), makeRelatedQuery(), partialQuery(), and query().
const Xapian::Database& ept::core::xapian::Source::db | ( | ) | const [inline] |
Xapian::docid ept::core::xapian::Source::docidByName | ( | const std::string & | pkgname | ) | const |
Returns true if the index is older than the Apt database information.
References m_db.
Referenced by getDoubleValue(), and getIntValue().
std::vector<std::string> ept::core::xapian::Source::expand | ( | Xapian::Enquire & | enq | ) | const |
Return a list of tag-based terms that can be used to expand an OR query.
Referenced by query().
double ept::core::xapian::Source::getDoubleValue | ( | const std::string & | pkgname, | |
Xapian::valueno | val_id | |||
) | const |
Get the integer value for.
References db(), and docidByName().
int ept::core::xapian::Source::getIntValue | ( | const std::string & | pkgname, | |
Xapian::valueno | val_id | |||
) | const |
Get the integer value for.
References db(), and docidByName().
bool ept::core::xapian::Source::hasData | ( | ) | const [inline] |
Returns true if the index has data.
References timestamp().
void ept::core::xapian::Source::invalidate | ( | ) | [inline] |
Xapian::Query ept::core::xapian::Source::makeORQuery | ( | const ITER & | begin, | |
const ITER & | end | |||
) | const [inline] |
Build a query with the given keywords, specified as iterators of strings.
Xapian::Query ept::core::xapian::Source::makeORQuery | ( | const std::string & | keywords | ) | const |
Tokenize the string and build an OR query with the resulting keywords.
Xapian::Query ept::core::xapian::Source::makePartialORQuery | ( | const std::string & | keywords | ) | const |
Tokenize the string and build an OR query with the resulting keywords.
The last token in keywords is considered to be typed only partially, to implement proper search-as-you-type.
Xapian::Query ept::core::xapian::Source::makeRelatedQuery | ( | const std::string & | pkgname | ) | const |
Create a query to look for packages similar to the given one.
References db().
void ept::core::xapian::Source::normalize_and_add | ( | Xapian::Document & | doc, | |
const std::string & | term, | |||
int & | pos | |||
) | const [protected] |
void ept::core::xapian::Source::open | ( | ) | const |
References ept::textsearch::Path::index(), m_db, m_opened, and timestamp().
Referenced by db().
Query ept::core::xapian::Source::partialQuery | ( | const std::string & | s | ) | [inline] |
References ept::core::xapian::Query::addTerms(), and db().
Query ept::core::xapian::Source::query | ( | const std::string & | s, | |
bool | expand = true , |
|||
int | qualityCutoff = 50 | |||
) | [inline] |
time_t ept::core::xapian::Source::timestamp | ( | ) | const |
Timestamp of when the Xapian database was last updated.
References ept::textsearch::Path::indexTimestamp().
Referenced by hasData(), open(), and updateLeniently().
std::string ept::core::xapian::Source::toLower | ( | const std::string & | str | ) | [static, protected] |
Return a lowercased copy of the string.
Referenced by normalize_and_add().
void ept::core::xapian::Source::update | ( | OpProgress * | op = 0 |
) | [inline] |
References invalidate().
Referenced by updateLeniently().
void ept::core::xapian::Source::updateLeniently | ( | AptDatabase & | apt, | |
OpProgress * | op = 0 | |||
) | [inline] |
References timestamp(), ept::core::AptDatabase::timestamp(), and update().
Xapian::Database ept::core::xapian::Source::m_db [mutable, protected] |
Referenced by db(), docidByName(), invalidate(), and open().
bool ept::core::xapian::Source::m_opened [mutable, protected] |
Referenced by invalidate(), and open().
Xapian::Stem ept::core::xapian::Source::m_stem [protected] |
Referenced by normalize_and_add().