Namespaces | Classes | Typedefs | Functions | Variables
Xapian Namespace Reference

The Xapian namespace contains public interfaces for the Xapian library. More...

Namespaces

namespace  Auto
 

Database factory functions which determine the database type automatically.


namespace  Brass
 

Database factory functions for the brass backend.


namespace  Chert
 

Database factory functions for the chert backend.


namespace  InMemory
 

Database factory functions for the inmemory backend.


namespace  Remote
 

Database factory functions for the remote backend.


namespace  Unicode
 

Functions associated with handling Unicode characters.


Classes

class  Error
 All exceptions thrown by Xapian are subclasses of Xapian::Error. More...
class  LogicError
 The base class for exceptions indicating errors in the program logic. More...
class  RuntimeError
 The base class for exceptions indicating errors only detectable at runtime. More...
class  AssertionError
 AssertionError is thrown if a logical assertion inside Xapian fails. More...
class  InvalidArgumentError
 InvalidArgumentError indicates an invalid parameter value was passed to the API. More...
class  InvalidOperationError
 InvalidOperationError indicates the API was used in an invalid way. More...
class  UnimplementedError
 UnimplementedError indicates an attempt to use an unimplemented feature. More...
class  DatabaseError
 DatabaseError indicates some sort of database related error. More...
class  DatabaseCorruptError
 DatabaseCorruptError indicates database corruption was detected. More...
class  DatabaseCreateError
 DatabaseCreateError indicates a failure to create a database. More...
class  DatabaseLockError
 DatabaseLockError indicates failure to lock a database. More...
class  DatabaseModifiedError
 DatabaseModifiedError indicates a database was modified. More...
class  DatabaseOpeningError
 DatabaseOpeningError indicates failure to open a database. More...
class  DatabaseVersionError
 DatabaseVersionError indicates that a database is in an unsupported format. More...
class  DocNotFoundError
 Indicates an attempt to access a document not present in the database. More...
class  FeatureUnavailableError
 Indicates an attempt to use a feature which is unavailable. More...
class  InternalError
 InternalError indicates a runtime problem of some sort. More...
class  NetworkError
 Indicates a problem communicating with a remote database. More...
class  NetworkTimeoutError
 Indicates a timeout expired while communicating with a remote database. More...
class  QueryParserError
 Indicates a query string can't be parsed. More...
class  SerialisationError
 Indicates an error in the std::string serialisation of an object. More...
class  RangeError
 RangeError indicates an attempt to access outside the bounds of a container. More...
class  Compactor
 Compact a database, or merge and compact several. More...
class  Database
 This class is used to access a database, or a group of databases. More...
class  WritableDatabase
 This class provides read/write access to a database. More...
class  Document
 A handle representing a document in a Xapian database. More...
class  MSet
 A match set (MSet). More...
class  MSetIterator
 An iterator pointing to items in an MSet. More...
class  ESet
 Class representing an ordered set of expand terms (an ESet). More...
class  ESetIterator
 Iterate through terms in the ESet. More...
class  RSet
 A relevance set (R-Set). More...
class  MatchDecider
 Base class for matcher decision functor. More...
class  Enquire
 This class provides an interface to the information retrieval system for the purpose of searching. More...
class  ErrorHandler
 Decide if a Xapian::Error exception should be ignored. More...
class  ExpandDecider
 Virtual base class for expand decider functor. More...
class  ExpandDeciderAnd
 ExpandDecider subclass which rejects terms using two ExpandDeciders. More...
class  ExpandDeciderFilterTerms
 ExpandDecider subclass which rejects terms in a specified list. More...
class  ExpandDeciderFilterPrefix
 ExpandDecider subclass which restrict terms to a particular prefix. More...
struct  LatLongCoord
 A latitude-longitude coordinate. More...
class  LatLongCoordsIterator
 An iterator across the values in a LatLongCoords object. More...
class  LatLongCoords
 A sequence of latitude-longitude coordinates. More...
class  LatLongMetric
 Base class for calculating distances between two lat/long coordinates. More...
class  GreatCircleMetric
 Calculate the great-circle distance between two coordinates on a sphere. More...
class  LatLongDistancePostingSource
 Posting source which returns a weight based on geospatial distance. More...
class  LatLongDistanceKeyMaker
 KeyMaker subclass which sorts by distance from a latitude/longitude. More...
class  KeyMaker
 Virtual base class for key making functors. More...
class  MultiValueKeyMaker
 KeyMaker subclass which combines several values. More...
class  MatchSpy
 Abstract base class for match spies. More...
class  ValueCountMatchSpy
 Class for counting the frequencies of values in the matching documents. More...
class  PositionIterator
 Class for iterating over term positions. More...
class  PostingIterator
 Class for iterating over a list of terms. More...
class  PostingSource
 Base class which provides an "external" source of postings. More...
class  ValuePostingSource
 A posting source which generates weights from a value slot. More...
class  ValueWeightPostingSource
 A posting source which reads weights from a value slot. More...
class  DecreasingValueWeightPostingSource
 Read weights from a value which is known to decrease as docid increases. More...
class  ValueMapPostingSource
 A posting source which looks up weights in a map using values as the key. More...
class  FixedWeightPostingSource
 A posting source which returns a fixed weight for all documents. More...
class  Query
 Class representing a query. More...
class  Stopper
 Base class for stop-word decision functor. More...
class  SimpleStopper
 Simple implementation of Stopper class - this will suit most users. More...
struct  ValueRangeProcessor
 Base class for value range processors. More...
class  StringValueRangeProcessor
 Handle a string range. More...
class  DateValueRangeProcessor
 Handle a date range. More...
class  NumberValueRangeProcessor
 Handle a number range. More...
struct  FieldProcessor
 Base class for field processors. More...
class  QueryParser
 Build a Xapian::Query object from a user query string. More...
class  Registry
 Registry for user subclasses. More...
struct  StemImplementation
 Class representing a stemming algorithm implementation. More...
class  Stem
 Class representing a stemming algorithm. More...
class  TermGenerator
 Parses a piece of text and generate terms. More...
class  TermIterator
 Class for iterating over a list of terms. More...
class  Utf8Iterator
 An iterator which returns Unicode character values from a UTF-8 encoded string. More...
class  ValueIterator
 Class for iterating over document values. More...
class  ValueSetMatchDecider
 MatchDecider filtering results based on whether document values are in a user-defined set. More...
class  Weight
 Abstract base class for weighting schemes. More...
class  BoolWeight
 Class implementing a "boolean" weighting scheme. More...
class  TfIdfWeight
 Xapian::Weight subclass implementing the tf-idf weighting scheme. More...
class  BM25Weight
 Xapian::Weight subclass implementing the BM25 probabilistic formula. More...
class  TradWeight
 Xapian::Weight subclass implementing the traditional probabilistic formula. More...

Typedefs

typedef unsigned doccount
 A count of documents.
typedef int doccount_diff
 A signed difference between two counts of documents.
typedef unsigned docid
 A unique identifier for a document.
typedef double doclength
 A normalised document length.
typedef int percent
 The percentage score for a document in an MSet.
typedef unsigned termcount
 A counts of terms.
typedef int termcount_diff
 A signed difference between two counts of terms.
typedef unsigned termpos
 A term position within a document or query.
typedef int termpos_diff
 A signed difference between two term positions.
typedef unsigned timeout
 A timeout value in milliseconds.
typedef unsigned valueno
 The number for a value slot in a document.
typedef int valueno_diff
 A signed difference between two value slot numbers.
typedef double weight
 The weight of a document or term.

Functions

bool operator== (const MSetIterator &a, const MSetIterator &b)
 Equality test for MSetIterator objects.
bool operator!= (const MSetIterator &a, const MSetIterator &b)
 Inequality test for MSetIterator objects.
bool operator== (const ESetIterator &a, const ESetIterator &b)
 Equality test for ESetIterator objects.
bool operator!= (const ESetIterator &a, const ESetIterator &b)
 Inequality test for ESetIterator objects.
double miles_to_metres (double miles)
 Convert from miles to metres.
double metres_to_miles (double metres)
 Convert from metres to miles.
bool operator!= (const LatLongCoordsIterator &a, const LatLongCoordsIterator &b)
 Inequality test for LatLongCoordsIterator objects.
bool operator== (const PositionIterator &a, const PositionIterator &b)
 Equality test for PositionIterator objects.
bool operator!= (const PositionIterator &a, const PositionIterator &b)
 Inequality test for PositionIterator objects.
bool operator== (const PostingIterator &a, const PostingIterator &b)
 Equality test for PostingIterator objects.
bool operator!= (const PostingIterator &a, const PostingIterator &b)
 Inequality test for PostingIterator objects.
std::string sortable_serialise (double value)
 Convert a floating point number to a string, preserving sort order.
double sortable_unserialise (const std::string &value)
 Convert a string encoded using sortable_serialise back to a floating point number.
bool operator== (const TermIterator &a, const TermIterator &b)
 Equality test for TermIterator objects.
bool operator!= (const TermIterator &a, const TermIterator &b)
 Inequality test for TermIterator objects.
bool operator== (const ValueIterator &a, const ValueIterator &b)
 Equality test for ValueIterator objects.
bool operator!= (const ValueIterator &a, const ValueIterator &b)
 Inequality test for ValueIterator objects.
const char * version_string ()
 Report the version string of the library which the program is linked with.
int major_version ()
 Report the major version of the library which the program is linked with.
int minor_version ()
 Report the minor version of the library which the program is linked with.
int revision ()
 Report the revision of the library which the program is linked with.

Variables

const int DB_CREATE_OR_OPEN = 1
 Open for read/write; create if no db exists.
const int DB_CREATE = 2
 Create a new database; fail if db exists.
const int DB_CREATE_OR_OVERWRITE = 3
 Overwrite existing db; create if none exists.
const int DB_OPEN = 4
 Open for read/write; fail if no db exists.
const int DBCHECK_SHORT_TREE = 1
 Show a short-format display of the B-tree contents.
const int DBCHECK_FULL_TREE = 2
 Show a full display of the B-tree contents.
const int DBCHECK_SHOW_BITMAP = 4
 Show the bitmap for the B-tree.
const int DBCHECK_SHOW_STATS = 8
 Show statistics for the B-tree.
const int DBCHECK_FIX = 16
 Fix problems.
const valueno BAD_VALUENO = 0xffffffff
 Reserved value to indicate "no valueno".

Detailed Description

The Xapian namespace contains public interfaces for the Xapian library.


Typedef Documentation

typedef unsigned Xapian::doccount

A count of documents.

This is used to hold values such as the number of documents in a database and the frequency of a term in the database.

typedef int Xapian::doccount_diff

A signed difference between two counts of documents.

This is used by the Xapian classes which are STL containers of documents for "difference_type".

typedef unsigned Xapian::docid

A unique identifier for a document.

Docid 0 is invalid, providing an "out of range" value which can be used to mean "not a valid document".

typedef double Xapian::doclength

A normalised document length.

The normalised document length is the document length divided by the average document length in the database.

typedef int Xapian::percent

The percentage score for a document in an MSet.

Deprecated:
This type is deprecated as of Xapian 1.3.0 - use the standard type int instead, which should work with older Xapian too.
typedef unsigned Xapian::termcount

A counts of terms.

This is used to hold values such as the Within Document Frequency (wdf).

A signed difference between two counts of terms.

This is used by the Xapian classes which are STL containers of terms for "difference_type".

typedef int Xapian::termpos_diff

A signed difference between two term positions.

This is used by the Xapian classes which are STL containers of positions for "difference_type".

typedef unsigned Xapian::timeout

A timeout value in milliseconds.

There are 1000 milliseconds in a second, so for example, to set a timeout of 5 seconds use 5000.

Deprecated:
This type is deprecated as of Xapian 1.3.0 - use the standard POSIX type useconds_t instead, which should work with older Xapian too.
typedef unsigned Xapian::valueno

The number for a value slot in a document.

Value slot numbers are unsigned and (currently) a 32-bit quantity, with Xapian::BAD_VALUENO being represented by the largest possible value. Therefore value slots 0 to 0xFFFFFFFE are available for use.

typedef int Xapian::valueno_diff

A signed difference between two value slot numbers.

This is used by the Xapian classes which are STL containers of values for "difference_type".

typedef double Xapian::weight

The weight of a document or term.

Deprecated:
This type is deprecated as of Xapian 1.3.0 - use the standard C++ type double instead, which should work with older Xapian too.

Function Documentation

Report the major version of the library which the program is linked with.

This may be different to the version compiled against (given by XAPIAN_MAJOR_VERSION) if shared libraries are being used.

double Xapian::metres_to_miles ( double  metres) [inline]

Convert from metres to miles.

Experimental - see http://xapian.org/docs/deprecation#experimental-features

double Xapian::miles_to_metres ( double  miles) [inline]

Convert from miles to metres.

Experimental - see http://xapian.org/docs/deprecation#experimental-features

Report the minor version of the library which the program is linked with.

This may be different to the version compiled against (given by XAPIAN_MINOR_VERSION) if shared libraries are being used.

Report the revision of the library which the program is linked with.

This may be different to the version compiled against (given by XAPIAN_REVISION) if shared libraries are being used.

std::string Xapian::sortable_serialise ( double  value)

Convert a floating point number to a string, preserving sort order.

This method converts a floating point number to a string, suitable for using as a value for numeric range restriction, or for use as a sort key.

The conversion is platform independent.

The conversion attempts to ensure that, for any pair of values supplied to the conversion algorithm, the result of comparing the original values (with a numeric comparison operator) will be the same as the result of comparing the resulting values (with a string comparison operator). On platforms which represent doubles with the precisions specified by IEEE_754, this will be the case: if the representation of doubles is more precise, it is possible that two very close doubles will be mapped to the same string, so will compare equal.

Note also that both zero and -zero will be converted to the same representation: since these compare equal, this satisfies the comparison constraint, but it's worth knowing this if you wish to use the encoding in some situation where this distinction matters.

Handling of NaN isn't (currently) guaranteed to be sensible.

Parameters:
valueThe number to serialise.
double Xapian::sortable_unserialise ( const std::string &  value)

Convert a string encoded using sortable_serialise back to a floating point number.

This expects the input to be a string produced by sortable_serialise(). If the input is not such a string, the value returned is undefined (but no error will be thrown).

The result of the conversion will be exactly the value which was supplied to sortable_serialise() when making the string on platforms which represent doubles with the precisions specified by IEEE_754, but may be a different (nearby) value on other platforms.

Parameters:
valueThe serialised string to decode.
const char* Xapian::version_string ( )

Report the version string of the library which the program is linked with.

This may be different to the version compiled against (given by XAPIAN_VERSION) if shared libraries are being used.


Variable Documentation

const valueno Xapian::BAD_VALUENO = 0xffffffff

Reserved value to indicate "no valueno".

const int Xapian::DB_CREATE = 2

Create a new database; fail if db exists.

Open for read/write; create if no db exists.

Overwrite existing db; create if none exists.

const int Xapian::DB_OPEN = 4

Open for read/write; fail if no db exists.

const int Xapian::DBCHECK_FIX = 16

Fix problems.

Currently this is supported for chert, and will:

* regenerate the "iamchert" file if it isn't valid (so if it is lost, you can just create it empty and then "fix problems").

* regenerate base files (currently the algorithm for finding the root block may not work if there was a change partly written but not committed).

For use with Xapian::Database::check().

Show a full display of the B-tree contents.

For use with Xapian::Database::check().

Show a short-format display of the B-tree contents.

For use with Xapian::Database::check().

Show the bitmap for the B-tree.

For use with Xapian::Database::check().

Show statistics for the B-tree.

For use with Xapian::Database::check().


Documentation for Xapian (version 1.3.1).
Generated on Fri May 3 2013 by Doxygen 1.7.6.1.