# Xapian Namespace Reference

The Xapian library lives in the Xapian namespace. More...

## Classes

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 document in the database - holds data, values, terms, and postings. 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 | Weight
| Abstract base class for weighting schemes. More...
class | BoolWeight
| Boolean weighting scheme (everything gets 0). More...
class | BM25Weight
| BM25 weighting scheme. More...
class | TradWeight
| Traditional probabilistic weighting scheme. 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 | TermPosWrapper
class | PositionIterator
| An iterator pointing to items in a list of positions. More...
class | DocIDWrapper
class | PostingIterator
| An iterator pointing to items in a list of postings. 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...
class | QueryParser
| Build a Xapian::Query object from a user query string. More...
class | Sorter
| Virtual base class for sorter functor. More...
class | MultiValueSorter
| Sorter subclass which sorts by a several values. More...
class | Stem
| Class representing a stemming algorithm. More...
class | TermGenerator
| Parses a piece of text and generate terms. More...
class | TermNameWrapper
class | TermIterator
| An iterator pointing to items in a list of terms. More...
class | Utf8Iterator
| An iterator which returns Unicode character values from a UTF-8 encoded string. More...
class | ValueIterator
| An iterator pointing to values associated with a document. 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 microseconds.
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)
bool | operator!= (const MSetIterator &a, const MSetIterator &b)
bool | operator== (const ESetIterator &a, const ESetIterator &b)
bool | operator!= (const ESetIterator &a, const ESetIterator &b)
bool | operator== (const PositionIterator &a, const PositionIterator &b)
| Test equality of two PositionIterators.
bool | operator!= (const PositionIterator &a, const PositionIterator &b)
| Test inequality of two PositionIterators.
bool | operator== (const PostingIterator &a, const PostingIterator &b)
| Test equality of two PostingIterators.
bool | operator!= (const PostingIterator &a, const PostingIterator &b)
| Test inequality of two PostingIterators.
XAPIAN_VISIBILITY_DEFAULT std::string | sortable_serialise (double value)
| Convert a floating point number to a string, preserving sort order.
XAPIAN_VISIBILITY_DEFAULT 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)
bool | operator!= (const TermIterator &a, const TermIterator &b)
bool | operator== (const ValueIterator &a, const ValueIterator &b)
bool | operator!= (const ValueIterator &a, const ValueIterator &b)
XAPIAN_VISIBILITY_DEFAULT const char * | version_string ()
| Report the version string of the library which the program is linked with.
XAPIAN_VISIBILITY_DEFAULT | XAPIAN_DEPRECATED (const char *xapian_version_string())
| For compatibility with Xapian 0.9.5 and earlier.
XAPIAN_VISIBILITY_DEFAULT int | major_version ()
| Report the major version of the library which the program is linked to.
XAPIAN_VISIBILITY_DEFAULT | XAPIAN_DEPRECATED (int xapian_major_version())
| For compatibility with Xapian 0.9.5 and earlier.
XAPIAN_VISIBILITY_DEFAULT int | minor_version ()
| Report the minor version of the library which the program is linked to.
XAPIAN_VISIBILITY_DEFAULT int | revision ()
| Report the revision of the library which the program is linked to.

## 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 valueno | BAD_VALUENO = static_cast<valueno>(-1)
| Reserved value to indicate "no valueno".

## Detailed Description

The Xapian library lives in the Xapian namespace.

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

typedef unsigned Xapian::termcount

A counts of terms.

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

typedef int Xapian::termcount_diff

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 unsigned Xapian::termpos

A term position within a document or query.

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

There are 1 million microseconds in a second, so for example, to set a timeout of 5 seconds use 5000000.

typedef unsigned Xapian::valueno

The number for a value slot in a document.

Any value slot number except Xapian::BAD_VALUENO is valid.

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.

## Function Documentation

XAPIAN_VISIBILITY_DEFAULT int Xapian::major_version | ( |  | ) |

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

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

XAPIAN_VISIBILITY_DEFAULT int Xapian::minor_version | ( |  | ) |

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

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

bool Xapian::operator!= | ( | const PostingIterator & | a,
|  | const PostingIterator & | b |
| ) |  |  | `[inline]`

Test inequality of two PostingIterators.

bool Xapian::operator!= | ( | const PositionIterator & | a,
|  | const PositionIterator & | b |
| ) |  |  | `[inline]`

Test inequality of two PositionIterators.

bool Xapian::operator== | ( | const PostingIterator & | a,
|  | const PostingIterator & | b |
| ) |  |  | `[inline]`

Test equality of two PostingIterators.

bool Xapian::operator== | ( | const PositionIterator & | a,
|  | const PositionIterator & | b |
| ) |  |  | `[inline]`

Test equality of two PositionIterators.

XAPIAN_VISIBILITY_DEFAULT int Xapian::revision | ( |  | ) |

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

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

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

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

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

XAPIAN_VISIBILITY_DEFAULT Xapian::XAPIAN_DEPRECATED | ( | int | xapian_major_version() | ) |

For compatibility with Xapian 0.9.5 and earlier.

Deprecated:
  This function is now deprecated, use Xapian::major_version() instead.

XAPIAN_VISIBILITY_DEFAULT Xapian::XAPIAN_DEPRECATED | ( | const char * | xapian_version_string() | ) |

For compatibility with Xapian 0.9.5 and earlier.

Deprecated:
  This function is now deprecated, use Xapian::version_string() instead.

## Variable Documentation

const valueno Xapian::BAD_VALUENO = static_cast<valueno>(-1)

Reserved value to indicate "no valueno".

const int Xapian::DB_CREATE = 2

Create a new database; fail if db exists.

const int Xapian::DB_CREATE_OR_OPEN = 1

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

const int Xapian::DB_CREATE_OR_OVERWRITE = 3

Overwrite existing db; create if none exists.

const int Xapian::DB_OPEN = 4

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