Xapian::Database Class Reference

This class is used to access a database, or a group of databases. More...

#include <database.h>

Inheritance diagram for Xapian::Database:

Inheritance graph
[legend]
List of all members.

Public Member Functions

void add_database (const Database &database)
 Add an existing database (or group of databases) to those accessed by this object.
 Database ()
 Create a Database with no databases in.
 Database (const std::string &path)
 Open a Database, automatically determining the database backend to use.
 Database (Internal *internal)
virtual ~Database ()
 Destroy this handle on the database.
 Database (const Database &other)
 Copying is allowed.
void operator= (const Database &other)
 Assignment is allowed.
void reopen ()
 Re-open the database.
virtual std::string get_description () const
 Introspection method.
PostingIterator postlist_begin (const std::string &tname) const
 An iterator pointing to the start of the postlist for a given term.
PostingIterator postlist_end (const std::string &) const
 Corresponding end iterator to postlist_begin().
TermIterator termlist_begin (Xapian::docid did) const
 An iterator pointing to the start of the termlist for a given document.
TermIterator termlist_end (Xapian::docid) const
 Corresponding end iterator to termlist_begin().
PositionIterator positionlist_begin (Xapian::docid did, const std::string &tname) const
 An iterator pointing to the start of the position list for a given term in a given document.
PositionIterator positionlist_end (Xapian::docid, const std::string &) const
 Corresponding end iterator to positionlist_begin().
TermIterator allterms_begin () const
 An iterator which runs across all terms in the database.
TermIterator allterms_end () const
 Corresponding end iterator to allterms_begin().
Xapian::doccount get_doccount () const
 Get the number of documents in the database.
Xapian::docid get_lastdocid () const
 Get the highest document id which has been used in the database.
Xapian::doclength get_avlength () const
 Get the average length of the documents in the database.
Xapian::doccount get_termfreq (const std::string &tname) const
 Get the number of documents in the database indexed by a given term.
bool term_exists (const std::string &tname) const
 Check if a given term exists in the database.
Xapian::termcount get_collection_freq (const std::string &tname) const
 Return the total number of occurrences of the given term.
Xapian::doclength get_doclength (Xapian::docid did) const
 Get the length of a document.
void keep_alive ()
 Send a "keep-alive" to remote databases to stop them timing out.
Xapian::Document get_document (Xapian::docid did) const
 Get a document from the database, given its document id.

Public Attributes

std::vector< Xapian::Internal::RefCntPtr<
Internal > > 
internal

Detailed Description

This class is used to access a database, or a group of databases.

For searching, this class is used in conjunction with an Enquire object.

Exceptions:
InvalidArgumentError will be thrown if an invalid argument is supplied, for example, an unknown database type.
DatabaseOpeningError may be thrown if the database cannot be opened (for example, a required file cannot be found).


Constructor & Destructor Documentation

Xapian::Database::Database  ) 
 

Create a Database with no databases in.

Xapian::Database::Database const std::string &  path  ) 
 

Open a Database, automatically determining the database backend to use.

Parameters:
path directory that the database is stored in.

virtual Xapian::Database::~Database  )  [virtual]
 

Destroy this handle on the database.

If there are no copies of this object remaining, the database(s) will be closed.

Xapian::Database::Database const Database other  ) 
 

Copying is allowed.

The internals are reference counted, so copying is cheap.


Member Function Documentation

void Xapian::Database::add_database const Database database  ) 
 

Add an existing database (or group of databases) to those accessed by this object.

Parameters:
database the database(s) to add.

TermIterator Xapian::Database::allterms_begin  )  const
 

An iterator which runs across all terms in the database.

TermIterator Xapian::Database::allterms_end  )  const [inline]
 

Corresponding end iterator to allterms_begin().

Xapian::doclength Xapian::Database::get_avlength  )  const
 

Get the average length of the documents in the database.

Xapian::termcount Xapian::Database::get_collection_freq const std::string &  tname  )  const
 

Return the total number of occurrences of the given term.

This is the sum of the number of ocurrences of the term in each document it indexes: ie, the sum of the within document frequencies of the term.

Parameters:
tname The term whose collection frequency is being requested.

virtual std::string Xapian::Database::get_description  )  const [virtual]
 

Introspection method.

Returns:
A string describing this object.

Reimplemented in Xapian::WritableDatabase.

Xapian::doccount Xapian::Database::get_doccount  )  const
 

Get the number of documents in the database.

Xapian::doclength Xapian::Database::get_doclength Xapian::docid  did  )  const
 

Get the length of a document.

Xapian::Document Xapian::Database::get_document Xapian::docid  did  )  const
 

Get a document from the database, given its document id.

This method returns a Xapian::Document object which provides the information about a document.

Parameters:
did The document id for which to retrieve the data.
Returns:
A Xapian::Document object containing the document data
Exceptions:
Xapian::DocNotFoundError The document specified could not be found in the database.

Xapian::docid Xapian::Database::get_lastdocid  )  const
 

Get the highest document id which has been used in the database.

Xapian::doccount Xapian::Database::get_termfreq const std::string &  tname  )  const
 

Get the number of documents in the database indexed by a given term.

void Xapian::Database::keep_alive  ) 
 

Send a "keep-alive" to remote databases to stop them timing out.

void Xapian::Database::operator= const Database other  ) 
 

Assignment is allowed.

The internals are reference counted, so assignment is cheap.

PositionIterator Xapian::Database::positionlist_begin Xapian::docid  did,
const std::string &  tname
const
 

An iterator pointing to the start of the position list for a given term in a given document.

PositionIterator Xapian::Database::positionlist_end Xapian::docid  ,
const std::string & 
const [inline]
 

Corresponding end iterator to positionlist_begin().

PostingIterator Xapian::Database::postlist_begin const std::string &  tname  )  const
 

An iterator pointing to the start of the postlist for a given term.

PostingIterator Xapian::Database::postlist_end const std::string &   )  const [inline]
 

Corresponding end iterator to postlist_begin().

void Xapian::Database::reopen  ) 
 

Re-open the database.

This re-opens the database(s) to the latest available version(s). It can be used either to make sure the latest results are returned, or to recover from a Xapian::DatabaseModifiedError.

bool Xapian::Database::term_exists const std::string &  tname  )  const
 

Check if a given term exists in the database.

Return true if and only if the term exists in the database. This is the same as (get_termfreq(tname) != 0), but will often be more efficient.

TermIterator Xapian::Database::termlist_begin Xapian::docid  did  )  const
 

An iterator pointing to the start of the termlist for a given document.

TermIterator Xapian::Database::termlist_end Xapian::docid   )  const [inline]
 

Corresponding end iterator to termlist_begin().


The documentation for this class was generated from the following file:
Documentation for Xapian (version 0.9.6).
Generated on 15 May 2006 by Doxygen 1.4.6.