libept  0.5.25
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
ept::core::xapian::Source Struct Reference

#include <xapian.h>

Public Member Functions

 Source ()
 
Xapian::Database & db ()
 Access the Xapian database. More...
 
const Xapian::Database & db () const
 Access the Xapian database. More...
 
void open () const
 
void invalidate ()
 
time_t timestamp () const
 Timestamp of when the Xapian database was last updated. More...
 
void updateLeniently (AptDatabase &apt, OpProgress *op=0)
 
void update (OpProgress *op=0)
 
bool hasData () const
 Returns true if the index has data. More...
 
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. More...
 
Xapian::Query makeORQuery (const std::string &keywords) const
 Tokenize the string and build an OR query with the resulting keywords. More...
 
Xapian::Query makePartialORQuery (const std::string &keywords) const
 Tokenize the string and build an OR query with the resulting keywords. More...
 
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. More...
 
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. More...
 
Xapian::Query makeRelatedQuery (const std::string &pkgname) const
 Create a query to look for packages similar to the given one. More...
 
double getDoubleValue (const std::string &pkgname, Xapian::valueno val_id) const
 Get the integer value for. More...
 
int getIntValue (const std::string &pkgname, Xapian::valueno val_id) const
 Get the integer value for. More...
 

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. More...
 

Static Protected Member Functions

static std::string toLower (const std::string &str)
 Return a lowercased copy of the string. More...
 

Protected Attributes

Xapian::Database m_db
 
Xapian::Stem m_stem
 
bool m_opened
 

Constructor & Destructor Documentation

ept::core::xapian::Source::Source ( )

Member Function Documentation

Xapian::Database& ept::core::xapian::Source::db ( )
inline

Access the Xapian database.

References m_db, and open().

Referenced by getDoubleValue(), getIntValue(), makeRelatedQuery(), partialQuery(), and query().

const Xapian::Database& ept::core::xapian::Source::db ( ) const
inline

Access the Xapian database.

References m_db, and open().

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

References m_db, and m_opened.

Referenced by update().

Xapian::Query ept::core::xapian::Source::makeORQuery ( const std::string &  keywords) const

Tokenize the string and build an OR query with the resulting keywords.

template<typename ITER >
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::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

Add normalised tokens computed from the string to the document doc.

pos is used as a sequence generator for entering the token position in the document.

References m_stem, and toLower().

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
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)
staticprotected

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

Member Data Documentation

Xapian::Database ept::core::xapian::Source::m_db
mutableprotected

Referenced by db(), docidByName(), invalidate(), and open().

bool ept::core::xapian::Source::m_opened
mutableprotected

Referenced by invalidate(), and open().

Xapian::Stem ept::core::xapian::Source::m_stem
protected

Referenced by normalize_and_add().


The documentation for this struct was generated from the following files: