Sophie

Sophie

distrib > Fedora > 13 > i386 > by-pkgid > 2dc7ae7102ce788eb8a15dec0caf7708 > files > 49

xapian-core-devel-1.0.21-1.fc13.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Xapian: API Documentation: xapian-core: Xapian::Database Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#ffffff">
<!-- Generated by Doxygen 1.5.2 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<div class="nav">
<a class="el" href="namespaceXapian.html">Xapian</a>::<a class="el" href="classXapian_1_1Database.html">Database</a></div>
<h1>Xapian::Database Class Reference</h1><!-- doxytag: class="Xapian::Database" -->This class is used to access a database, or a group of databases.  
<a href="#_details">More...</a>
<p>
Inheritance diagram for Xapian::Database:<p><center><img src="classXapian_1_1Database__inherit__graph.png" border="0" usemap="#Xapian_1_1Database__inherit__map" alt="Inheritance graph"></center>
<map name="Xapian_1_1Database__inherit__map">
<area shape="rect" href="classXapian_1_1WritableDatabase.html" title="This class provides read/write access to a database." alt="" coords="5,84,189,111"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classXapian_1_1Database-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#03a991513fa38632dc4c1dcee86399c7">add_database</a> (const <a class="el" href="classXapian_1_1Database.html">Database</a> &amp;database)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an existing database (or group of databases) to those accessed by this object.  <a href="#03a991513fa38632dc4c1dcee86399c7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#353708bd763bd00eb7ee8eeac0a19265">Database</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="classXapian_1_1Database.html" title="This class is used to access a database, or a group of databases.">Database</a> with no databases in.  <a href="#353708bd763bd00eb7ee8eeac0a19265"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#f49738ea7a099e868e143f70ba266d70">Database</a> (const std::string &amp;path)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open a <a class="el" href="classXapian_1_1Database.html" title="This class is used to access a database, or a group of databases.">Database</a>, automatically determining the database backend to use.  <a href="#f49738ea7a099e868e143f70ba266d70"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#59f61a00a0854b02851488b3d1a2ff46">~Database</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy this handle on the database.  <a href="#59f61a00a0854b02851488b3d1a2ff46"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#36738fe9ea5065c2ae43ff754532c80d">Database</a> (const <a class="el" href="classXapian_1_1Database.html">Database</a> &amp;other)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copying is allowed.  <a href="#36738fe9ea5065c2ae43ff754532c80d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#1e700db1fe017a4e8fb123ca5d5afa43">operator=</a> (const <a class="el" href="classXapian_1_1Database.html">Database</a> &amp;other)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment is allowed.  <a href="#1e700db1fe017a4e8fb123ca5d5afa43"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#d2c082b3246f8610405caab9d5ea615a">reopen</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Re-open the database.  <a href="#d2c082b3246f8610405caab9d5ea615a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#44d59729206e5b39b73a90f5423c2b22">get_description</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a string describing this object.  <a href="#44d59729206e5b39b73a90f5423c2b22"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1PostingIterator.html">PostingIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#34956e0727e27aec23c7783bb03b0964">postlist_begin</a> (const std::string &amp;tname) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An iterator pointing to the start of the postlist for a given term.  <a href="#34956e0727e27aec23c7783bb03b0964"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1PostingIterator.html">PostingIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#e25256b849353a366cf8c8fff9776f0e">postlist_end</a> (const std::string &amp;) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Corresponding end iterator to <a class="el" href="classXapian_1_1Database.html#34956e0727e27aec23c7783bb03b0964" title="An iterator pointing to the start of the postlist for a given term.">postlist_begin()</a>.  <a href="#e25256b849353a366cf8c8fff9776f0e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1TermIterator.html">TermIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#21ef86e73207de8811145e3a205959bc">termlist_begin</a> (<a class="el" href="namespaceXapian.html#d8d873ad5830cff0b4bbd89d7da45d15">Xapian::docid</a> did) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An iterator pointing to the start of the termlist for a given document.  <a href="#21ef86e73207de8811145e3a205959bc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1TermIterator.html">TermIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#574c47e26279a198ed945b4c8f9a096b">termlist_end</a> (<a class="el" href="namespaceXapian.html#d8d873ad5830cff0b4bbd89d7da45d15">Xapian::docid</a>) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Corresponding end iterator to <a class="el" href="classXapian_1_1Database.html#21ef86e73207de8811145e3a205959bc" title="An iterator pointing to the start of the termlist for a given document.">termlist_begin()</a>.  <a href="#574c47e26279a198ed945b4c8f9a096b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#59c4da5e1fefa978bb520f439452903e">has_positions</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does this database have any positional information?  <a href="#59c4da5e1fefa978bb520f439452903e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1PositionIterator.html">PositionIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#b572964125df974ac97f5cc3a7c1efcf">positionlist_begin</a> (<a class="el" href="namespaceXapian.html#d8d873ad5830cff0b4bbd89d7da45d15">Xapian::docid</a> did, const std::string &amp;tname) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An iterator pointing to the start of the position list for a given term in a given document.  <a href="#b572964125df974ac97f5cc3a7c1efcf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1PositionIterator.html">PositionIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#ba065668a812b077c51dce686d73396b">positionlist_end</a> (<a class="el" href="namespaceXapian.html#d8d873ad5830cff0b4bbd89d7da45d15">Xapian::docid</a>, const std::string &amp;) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Corresponding end iterator to <a class="el" href="classXapian_1_1Database.html#b572964125df974ac97f5cc3a7c1efcf" title="An iterator pointing to the start of the position list for a given term in a given...">positionlist_begin()</a>.  <a href="#ba065668a812b077c51dce686d73396b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1TermIterator.html">TermIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#cdc067cfc7ebd5d8ad271a2c4277c4cc">allterms_begin</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An iterator which runs across all terms in the database.  <a href="#cdc067cfc7ebd5d8ad271a2c4277c4cc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1TermIterator.html">TermIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#ceaa8569a507ce211a830f6bdc20a1b3">allterms_end</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Corresponding end iterator to <a class="el" href="classXapian_1_1Database.html#cdc067cfc7ebd5d8ad271a2c4277c4cc" title="An iterator which runs across all terms in the database.">allterms_begin()</a>.  <a href="#ceaa8569a507ce211a830f6bdc20a1b3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1TermIterator.html">TermIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#bc5cd304eedf37ba96c294a3c20ddb5d">allterms_begin</a> (const std::string &amp;prefix) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An iterator which runs across all terms with a given prefix.  <a href="#bc5cd304eedf37ba96c294a3c20ddb5d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1TermIterator.html">TermIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#ace50bb16aa0396ff986753f25d5a4c9">allterms_end</a> (const std::string &amp;) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Corresponding end iterator to allterms_begin(prefix).  <a href="#ace50bb16aa0396ff986753f25d5a4c9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceXapian.html#44d2c93635cd10ee7d06a8d776f032cf">Xapian::doccount</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#b9bc23247c69cc812766b6a070c9e67c">get_doccount</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of documents in the database.  <a href="#b9bc23247c69cc812766b6a070c9e67c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceXapian.html#d8d873ad5830cff0b4bbd89d7da45d15">Xapian::docid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#f9adb2c1c48726ca5d2a411235161416">get_lastdocid</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the highest document id which has been used in the database.  <a href="#f9adb2c1c48726ca5d2a411235161416"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceXapian.html#6c1c4bfd0b540caccbb5179976ebf792">Xapian::doclength</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#90a74d4ad668971383bde9cf20823acd">get_avlength</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the average length of the documents in the database.  <a href="#90a74d4ad668971383bde9cf20823acd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceXapian.html#44d2c93635cd10ee7d06a8d776f032cf">Xapian::doccount</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#b0d5974947742fe117fd55635a56d3ae">get_termfreq</a> (const std::string &amp;tname) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of documents in the database indexed by a given term.  <a href="#b0d5974947742fe117fd55635a56d3ae"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#a97f9e1736b62498e0af6e25aa1a14ef">term_exists</a> (const std::string &amp;tname) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if a given term exists in the database.  <a href="#a97f9e1736b62498e0af6e25aa1a14ef"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceXapian.html#3261017447607738e49eae6a2a4f5eec">Xapian::termcount</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#447a0b3f97882d51dc40f1ce43eec329">get_collection_freq</a> (const std::string &amp;tname) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the total number of occurrences of the given term.  <a href="#447a0b3f97882d51dc40f1ce43eec329"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceXapian.html#6c1c4bfd0b540caccbb5179976ebf792">Xapian::doclength</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#b36f00a41c24866d3780a91db389253e">get_doclength</a> (<a class="el" href="namespaceXapian.html#d8d873ad5830cff0b4bbd89d7da45d15">Xapian::docid</a> did) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the length of a document.  <a href="#b36f00a41c24866d3780a91db389253e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#6f35411c21a96cdafbd5668b1b4ede02">keep_alive</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a "keep-alive" to remote databases to stop them timing out.  <a href="#6f35411c21a96cdafbd5668b1b4ede02"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1Document.html">Xapian::Document</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#58605ddb75717b0d6112aad4f66dbf3e">get_document</a> (<a class="el" href="namespaceXapian.html#d8d873ad5830cff0b4bbd89d7da45d15">Xapian::docid</a> did) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a document from the database, given its document id.  <a href="#58605ddb75717b0d6112aad4f66dbf3e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#5d9704bce82dffecdf7434d57dccdcfa">get_spelling_suggestion</a> (const std::string &amp;word, unsigned max_edit_distance=2) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Suggest a spelling correction.  <a href="#5d9704bce82dffecdf7434d57dccdcfa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#2f78aa0fe39a3b68e10ca865dc0f86ef">spellings_begin</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An iterator which returns all the spelling correction targets.  <a href="#2f78aa0fe39a3b68e10ca865dc0f86ef"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#6d8641cc88ce501ecadce34d9f26d010">spellings_end</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Corresponding end iterator to <a class="el" href="classXapian_1_1Database.html#2f78aa0fe39a3b68e10ca865dc0f86ef" title="An iterator which returns all the spelling correction targets.">spellings_begin()</a>.  <a href="#6d8641cc88ce501ecadce34d9f26d010"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#df281b5f710b73503ea5d307a0ad9fa3">synonyms_begin</a> (const std::string &amp;term) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An iterator which returns all the synonyms for a given term.  <a href="#df281b5f710b73503ea5d307a0ad9fa3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#0e350e1eabb4d0259ea28adca708de56">synonyms_end</a> (const std::string &amp;) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Corresponding end iterator to synonyms_begin(term).  <a href="#0e350e1eabb4d0259ea28adca708de56"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#326d69ff3fe3779823205f7b36433976">synonym_keys_begin</a> (const std::string &amp;prefix=&quot;&quot;) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An iterator which returns all terms which have synonyms.  <a href="#326d69ff3fe3779823205f7b36433976"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#16abeec1d8ea4deb721565286bd82603">synonym_keys_end</a> (const std::string &amp;=&quot;&quot;) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Corresponding end iterator to synonym_keys_begin(prefix).  <a href="#16abeec1d8ea4deb721565286bd82603"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#fc93ab6a6d6393bd5521c140ed355c59">get_metadata</a> (const std::string &amp;key) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the user-specified metadata associated with a given key.  <a href="#fc93ab6a6d6393bd5521c140ed355c59"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#aea76aef9ab0191fb3ac984cfb403f45">metadata_keys_begin</a> (const std::string &amp;prefix=&quot;&quot;) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An iterator which returns all user-specified metadata keys.  <a href="#aea76aef9ab0191fb3ac984cfb403f45"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXapian_1_1Database.html#396f880275e2d95dccc8d8b0c9dec689">metadata_keys_end</a> (const std::string &amp;=&quot;&quot;) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Corresponding end iterator to <a class="el" href="classXapian_1_1Database.html#aea76aef9ab0191fb3ac984cfb403f45" title="An iterator which returns all user-specified metadata keys.">metadata_keys_begin()</a>.  <a href="#396f880275e2d95dccc8d8b0c9dec689"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class is used to access a database, or a group of databases. 
<p>
For searching, this class is used in conjunction with an <a class="el" href="classXapian_1_1Enquire.html" title="This class provides an interface to the information retrieval system for the purpose...">Enquire</a> object.<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classXapian_1_1InvalidArgumentError.html" title="InvalidArgumentError indicates an invalid parameter value was passed to the API.">InvalidArgumentError</a></em>&nbsp;</td><td>will be thrown if an invalid argument is supplied, for example, an unknown database type.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classXapian_1_1DatabaseOpeningError.html" title="DatabaseOpeningError indicates failure to open a database.">DatabaseOpeningError</a></em>&nbsp;</td><td>may be thrown if the database cannot be opened (for example, a required file cannot be found).</td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classXapian_1_1DatabaseVersionError.html" title="DatabaseVersionError indicates that a database is in an unsupported format.">DatabaseVersionError</a></em>&nbsp;</td><td>may be thrown if the database is in an unsupported format (for example, created by a newer version of <a class="el" href="namespaceXapian.html" title="The Xapian namespace contains public interfaces for the Xapian library.">Xapian</a> which uses an incompatible format). </td></tr>
  </table>
</dl>

<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="353708bd763bd00eb7ee8eeac0a19265"></a><!-- doxytag: member="Xapian::Database::Database" ref="353708bd763bd00eb7ee8eeac0a19265" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Xapian::Database::Database           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a <a class="el" href="classXapian_1_1Database.html" title="This class is used to access a database, or a group of databases.">Database</a> with no databases in. 
<p>

</div>
</div><p>
<a class="anchor" name="f49738ea7a099e868e143f70ba266d70"></a><!-- doxytag: member="Xapian::Database::Database" ref="f49738ea7a099e868e143f70ba266d70" args="(const std::string &amp;path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Xapian::Database::Database           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>path</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Open a <a class="el" href="classXapian_1_1Database.html" title="This class is used to access a database, or a group of databases.">Database</a>, automatically determining the database backend to use. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>directory that the database is stored in. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="59f61a00a0854b02851488b3d1a2ff46"></a><!-- doxytag: member="Xapian::Database::~Database" ref="59f61a00a0854b02851488b3d1a2ff46" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual Xapian::Database::~Database           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy this handle on the database. 
<p>
If there are no copies of this object remaining, the database(s) will be closed. 
</div>
</div><p>
<a class="anchor" name="36738fe9ea5065c2ae43ff754532c80d"></a><!-- doxytag: member="Xapian::Database::Database" ref="36738fe9ea5065c2ae43ff754532c80d" args="(const Database &amp;other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Xapian::Database::Database           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classXapian_1_1Database.html">Database</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copying is allowed. 
<p>
The internals are reference counted, so copying is cheap. 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="03a991513fa38632dc4c1dcee86399c7"></a><!-- doxytag: member="Xapian::Database::add_database" ref="03a991513fa38632dc4c1dcee86399c7" args="(const Database &amp;database)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Xapian::Database::add_database           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classXapian_1_1Database.html">Database</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>database</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add an existing database (or group of databases) to those accessed by this object. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>database</em>&nbsp;</td><td>the database(s) to add. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="1e700db1fe017a4e8fb123ca5d5afa43"></a><!-- doxytag: member="Xapian::Database::operator=" ref="1e700db1fe017a4e8fb123ca5d5afa43" args="(const Database &amp;other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Xapian::Database::operator=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classXapian_1_1Database.html">Database</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assignment is allowed. 
<p>
The internals are reference counted, so assignment is cheap. 
</div>
</div><p>
<a class="anchor" name="d2c082b3246f8610405caab9d5ea615a"></a><!-- doxytag: member="Xapian::Database::reopen" ref="d2c082b3246f8610405caab9d5ea615a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Xapian::Database::reopen           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Re-open the database. 
<p>
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 <a class="el" href="classXapian_1_1DatabaseModifiedError.html" title="DatabaseModifiedError indicates a database was modified.">Xapian::DatabaseModifiedError</a>. 
</div>
</div><p>
<a class="anchor" name="44d59729206e5b39b73a90f5423c2b22"></a><!-- doxytag: member="Xapian::Database::get_description" ref="44d59729206e5b39b73a90f5423c2b22" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string Xapian::Database::get_description           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a string describing this object. 
<p>

<p>
Reimplemented in <a class="el" href="classXapian_1_1WritableDatabase.html#24f364f0748df4ef2eedf31bd3bab167">Xapian::WritableDatabase</a>.
</div>
</div><p>
<a class="anchor" name="34956e0727e27aec23c7783bb03b0964"></a><!-- doxytag: member="Xapian::Database::postlist_begin" ref="34956e0727e27aec23c7783bb03b0964" args="(const std::string &amp;tname) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1PostingIterator.html">PostingIterator</a> Xapian::Database::postlist_begin           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>tname</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
An iterator pointing to the start of the postlist for a given term. 
<p>
If the term name is the empty string, the iterator returned will list all the documents in the database. Such an iterator will always return a WDF value of 1, since there is no obvious meaning for this quantity in this case. 
</div>
</div><p>
<a class="anchor" name="e25256b849353a366cf8c8fff9776f0e"></a><!-- doxytag: member="Xapian::Database::postlist_end" ref="e25256b849353a366cf8c8fff9776f0e" args="(const std::string &amp;) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1PostingIterator.html">PostingIterator</a> Xapian::Database::postlist_end           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Corresponding end iterator to <a class="el" href="classXapian_1_1Database.html#34956e0727e27aec23c7783bb03b0964" title="An iterator pointing to the start of the postlist for a given term.">postlist_begin()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="21ef86e73207de8811145e3a205959bc"></a><!-- doxytag: member="Xapian::Database::termlist_begin" ref="21ef86e73207de8811145e3a205959bc" args="(Xapian::docid did) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1TermIterator.html">TermIterator</a> Xapian::Database::termlist_begin           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceXapian.html#d8d873ad5830cff0b4bbd89d7da45d15">Xapian::docid</a>&nbsp;</td>
          <td class="paramname"> <em>did</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div><p>
<a class="anchor" name="574c47e26279a198ed945b4c8f9a096b"></a><!-- doxytag: member="Xapian::Database::termlist_end" ref="574c47e26279a198ed945b4c8f9a096b" args="(Xapian::docid) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1TermIterator.html">TermIterator</a> Xapian::Database::termlist_end           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceXapian.html#d8d873ad5830cff0b4bbd89d7da45d15">Xapian::docid</a>&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Corresponding end iterator to <a class="el" href="classXapian_1_1Database.html#21ef86e73207de8811145e3a205959bc" title="An iterator pointing to the start of the termlist for a given document.">termlist_begin()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="59c4da5e1fefa978bb520f439452903e"></a><!-- doxytag: member="Xapian::Database::has_positions" ref="59c4da5e1fefa978bb520f439452903e" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Xapian::Database::has_positions           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Does this database have any positional information? 
<p>

</div>
</div><p>
<a class="anchor" name="b572964125df974ac97f5cc3a7c1efcf"></a><!-- doxytag: member="Xapian::Database::positionlist_begin" ref="b572964125df974ac97f5cc3a7c1efcf" args="(Xapian::docid did, const std::string &amp;tname) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1PositionIterator.html">PositionIterator</a> Xapian::Database::positionlist_begin           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceXapian.html#d8d873ad5830cff0b4bbd89d7da45d15">Xapian::docid</a>&nbsp;</td>
          <td class="paramname"> <em>did</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>tname</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div><p>
<a class="anchor" name="ba065668a812b077c51dce686d73396b"></a><!-- doxytag: member="Xapian::Database::positionlist_end" ref="ba065668a812b077c51dce686d73396b" args="(Xapian::docid, const std::string &amp;) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1PositionIterator.html">PositionIterator</a> Xapian::Database::positionlist_end           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceXapian.html#d8d873ad5830cff0b4bbd89d7da45d15">Xapian::docid</a>&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Corresponding end iterator to <a class="el" href="classXapian_1_1Database.html#b572964125df974ac97f5cc3a7c1efcf" title="An iterator pointing to the start of the position list for a given term in a given...">positionlist_begin()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="cdc067cfc7ebd5d8ad271a2c4277c4cc"></a><!-- doxytag: member="Xapian::Database::allterms_begin" ref="cdc067cfc7ebd5d8ad271a2c4277c4cc" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1TermIterator.html">TermIterator</a> Xapian::Database::allterms_begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
An iterator which runs across all terms in the database. 
<p>

</div>
</div><p>
<a class="anchor" name="ceaa8569a507ce211a830f6bdc20a1b3"></a><!-- doxytag: member="Xapian::Database::allterms_end" ref="ceaa8569a507ce211a830f6bdc20a1b3" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1TermIterator.html">TermIterator</a> Xapian::Database::allterms_end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Corresponding end iterator to <a class="el" href="classXapian_1_1Database.html#cdc067cfc7ebd5d8ad271a2c4277c4cc" title="An iterator which runs across all terms in the database.">allterms_begin()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="bc5cd304eedf37ba96c294a3c20ddb5d"></a><!-- doxytag: member="Xapian::Database::allterms_begin" ref="bc5cd304eedf37ba96c294a3c20ddb5d" args="(const std::string &amp;prefix) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1TermIterator.html">TermIterator</a> Xapian::Database::allterms_begin           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>prefix</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
An iterator which runs across all terms with a given prefix. 
<p>
This is functionally similar to getting an iterator with <a class="el" href="classXapian_1_1Database.html#cdc067cfc7ebd5d8ad271a2c4277c4cc" title="An iterator which runs across all terms in the database.">allterms_begin()</a> and then calling skip_to(prefix) on that iterator to move to the start of the prefix, but is more convenient (because it detects the end of the prefixed terms), and may be more efficient than simply calling skip_to() after opening the iterator, particularly for network databases.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>prefix</em>&nbsp;</td><td>The prefix to restrict the returned terms to. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="ace50bb16aa0396ff986753f25d5a4c9"></a><!-- doxytag: member="Xapian::Database::allterms_end" ref="ace50bb16aa0396ff986753f25d5a4c9" args="(const std::string &amp;) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1TermIterator.html">TermIterator</a> Xapian::Database::allterms_end           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Corresponding end iterator to allterms_begin(prefix). 
<p>

</div>
</div><p>
<a class="anchor" name="b9bc23247c69cc812766b6a070c9e67c"></a><!-- doxytag: member="Xapian::Database::get_doccount" ref="b9bc23247c69cc812766b6a070c9e67c" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceXapian.html#44d2c93635cd10ee7d06a8d776f032cf">Xapian::doccount</a> Xapian::Database::get_doccount           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the number of documents in the database. 
<p>

</div>
</div><p>
<a class="anchor" name="f9adb2c1c48726ca5d2a411235161416"></a><!-- doxytag: member="Xapian::Database::get_lastdocid" ref="f9adb2c1c48726ca5d2a411235161416" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceXapian.html#d8d873ad5830cff0b4bbd89d7da45d15">Xapian::docid</a> Xapian::Database::get_lastdocid           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div><p>
<a class="anchor" name="90a74d4ad668971383bde9cf20823acd"></a><!-- doxytag: member="Xapian::Database::get_avlength" ref="90a74d4ad668971383bde9cf20823acd" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceXapian.html#6c1c4bfd0b540caccbb5179976ebf792">Xapian::doclength</a> Xapian::Database::get_avlength           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the average length of the documents in the database. 
<p>

</div>
</div><p>
<a class="anchor" name="b0d5974947742fe117fd55635a56d3ae"></a><!-- doxytag: member="Xapian::Database::get_termfreq" ref="b0d5974947742fe117fd55635a56d3ae" args="(const std::string &amp;tname) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceXapian.html#44d2c93635cd10ee7d06a8d776f032cf">Xapian::doccount</a> Xapian::Database::get_termfreq           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>tname</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div><p>
<a class="anchor" name="a97f9e1736b62498e0af6e25aa1a14ef"></a><!-- doxytag: member="Xapian::Database::term_exists" ref="a97f9e1736b62498e0af6e25aa1a14ef" args="(const std::string &amp;tname) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Xapian::Database::term_exists           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>tname</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if a given term exists in the database. 
<p>
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. 
</div>
</div><p>
<a class="anchor" name="447a0b3f97882d51dc40f1ce43eec329"></a><!-- doxytag: member="Xapian::Database::get_collection_freq" ref="447a0b3f97882d51dc40f1ce43eec329" args="(const std::string &amp;tname) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceXapian.html#3261017447607738e49eae6a2a4f5eec">Xapian::termcount</a> Xapian::Database::get_collection_freq           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>tname</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the total number of occurrences of the given term. 
<p>
This is the sum of the number of occurrences of the term in each document it indexes: i.e., the sum of the within document frequencies of the term.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tname</em>&nbsp;</td><td>The term whose collection frequency is being requested. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="b36f00a41c24866d3780a91db389253e"></a><!-- doxytag: member="Xapian::Database::get_doclength" ref="b36f00a41c24866d3780a91db389253e" args="(Xapian::docid did) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceXapian.html#6c1c4bfd0b540caccbb5179976ebf792">Xapian::doclength</a> Xapian::Database::get_doclength           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceXapian.html#d8d873ad5830cff0b4bbd89d7da45d15">Xapian::docid</a>&nbsp;</td>
          <td class="paramname"> <em>did</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the length of a document. 
<p>

</div>
</div><p>
<a class="anchor" name="6f35411c21a96cdafbd5668b1b4ede02"></a><!-- doxytag: member="Xapian::Database::keep_alive" ref="6f35411c21a96cdafbd5668b1b4ede02" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Xapian::Database::keep_alive           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div><p>
<a class="anchor" name="58605ddb75717b0d6112aad4f66dbf3e"></a><!-- doxytag: member="Xapian::Database::get_document" ref="58605ddb75717b0d6112aad4f66dbf3e" args="(Xapian::docid did) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1Document.html">Xapian::Document</a> Xapian::Database::get_document           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceXapian.html#d8d873ad5830cff0b4bbd89d7da45d15">Xapian::docid</a>&nbsp;</td>
          <td class="paramname"> <em>did</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a document from the database, given its document id. 
<p>
This method returns a <a class="el" href="classXapian_1_1Document.html" title="A handle representing a document in a Xapian database.">Xapian::Document</a> object which provides the information about a document.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>did</em>&nbsp;</td><td>The document id of the document to retrieve.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A <a class="el" href="classXapian_1_1Document.html" title="A handle representing a document in a Xapian database.">Xapian::Document</a> object containing the document data</dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classXapian_1_1DocNotFoundError.html" title="Indicates an attempt to access a document not present in the database.">Xapian::DocNotFoundError</a></em>&nbsp;</td><td>The document specified could not be found in the database. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="5d9704bce82dffecdf7434d57dccdcfa"></a><!-- doxytag: member="Xapian::Database::get_spelling_suggestion" ref="5d9704bce82dffecdf7434d57dccdcfa" args="(const std::string &amp;word, unsigned max_edit_distance=2) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string Xapian::Database::get_spelling_suggestion           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>word</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>max_edit_distance</em> = <code>2</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Suggest a spelling correction. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>word</em>&nbsp;</td><td>The potentially misspelled word. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>max_edit_distance</em>&nbsp;</td><td>Only consider words which are at most <em>max_edit_distance</em> edits from <em>word</em>. An edit is a character insertion, deletion, or the transposition of two adjacent characters (default is 2). </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="2f78aa0fe39a3b68e10ca865dc0f86ef"></a><!-- doxytag: member="Xapian::Database::spellings_begin" ref="2f78aa0fe39a3b68e10ca865dc0f86ef" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a> Xapian::Database::spellings_begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
An iterator which returns all the spelling correction targets. 
<p>
This returns all the words which are considered as targets for the spelling correction algorithm. The frequency of each word is available as the term frequency of each entry in the returned iterator. 
</div>
</div><p>
<a class="anchor" name="6d8641cc88ce501ecadce34d9f26d010"></a><!-- doxytag: member="Xapian::Database::spellings_end" ref="6d8641cc88ce501ecadce34d9f26d010" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a> Xapian::Database::spellings_end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Corresponding end iterator to <a class="el" href="classXapian_1_1Database.html#2f78aa0fe39a3b68e10ca865dc0f86ef" title="An iterator which returns all the spelling correction targets.">spellings_begin()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="df281b5f710b73503ea5d307a0ad9fa3"></a><!-- doxytag: member="Xapian::Database::synonyms_begin" ref="df281b5f710b73503ea5d307a0ad9fa3" args="(const std::string &amp;term) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a> Xapian::Database::synonyms_begin           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>term</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
An iterator which returns all the synonyms for a given term. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>term</em>&nbsp;</td><td>The term to return synonyms for. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="0e350e1eabb4d0259ea28adca708de56"></a><!-- doxytag: member="Xapian::Database::synonyms_end" ref="0e350e1eabb4d0259ea28adca708de56" args="(const std::string &amp;) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a> Xapian::Database::synonyms_end           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Corresponding end iterator to synonyms_begin(term). 
<p>

</div>
</div><p>
<a class="anchor" name="326d69ff3fe3779823205f7b36433976"></a><!-- doxytag: member="Xapian::Database::synonym_keys_begin" ref="326d69ff3fe3779823205f7b36433976" args="(const std::string &amp;prefix=&quot;&quot;) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a> Xapian::Database::synonym_keys_begin           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>prefix</em> = <code>&quot;&quot;</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
An iterator which returns all terms which have synonyms. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>prefix</em>&nbsp;</td><td>If non-empty, only terms with this prefix are returned. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="16abeec1d8ea4deb721565286bd82603"></a><!-- doxytag: member="Xapian::Database::synonym_keys_end" ref="16abeec1d8ea4deb721565286bd82603" args="(const std::string &amp;=&quot;&quot;) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a> Xapian::Database::synonym_keys_end           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> = <code>&quot;&quot;</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Corresponding end iterator to synonym_keys_begin(prefix). 
<p>

</div>
</div><p>
<a class="anchor" name="fc93ab6a6d6393bd5521c140ed355c59"></a><!-- doxytag: member="Xapian::Database::get_metadata" ref="fc93ab6a6d6393bd5521c140ed355c59" args="(const std::string &amp;key) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string Xapian::Database::get_metadata           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the user-specified metadata associated with a given key. 
<p>
User-specified metadata allows you to store arbitrary information in the form of (key,tag) pairs. See <em><a class="el" href="classXapian_1_1WritableDatabase.html#4a8d53e528bda6cee8e507b95f5c0b31" title="Set the user-specified metadata associated with a given key.">WritableDatabase::set_metadata()</a></em> for more information.<p>
When invoked on a <a class="el" href="classXapian_1_1Database.html" title="This class is used to access a database, or a group of databases.">Xapian::Database</a> object representing multiple databases, currently only the metadata for the first is considered but this behaviour may change in the future.<p>
If there is no piece of metadata associated with the specified key, an empty string is returned (this applies even for backends which don't support metadata).<p>
Empty keys are not valid, and specifying one will cause an exception.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key of the metadata item to access.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The retrieved metadata item's value.</dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classXapian_1_1InvalidArgumentError.html" title="InvalidArgumentError indicates an invalid parameter value was passed to the API.">Xapian::InvalidArgumentError</a></em>&nbsp;</td><td>will be thrown if the key supplied is empty. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="aea76aef9ab0191fb3ac984cfb403f45"></a><!-- doxytag: member="Xapian::Database::metadata_keys_begin" ref="aea76aef9ab0191fb3ac984cfb403f45" args="(const std::string &amp;prefix=&quot;&quot;) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a> Xapian::Database::metadata_keys_begin           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>prefix</em> = <code>&quot;&quot;</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
An iterator which returns all user-specified metadata keys. 
<p>
When invoked on a <a class="el" href="classXapian_1_1Database.html" title="This class is used to access a database, or a group of databases.">Xapian::Database</a> object representing multiple databases, currently only the metadata for the first is considered but this behaviour may change in the future.<p>
If the backend doesn't support metadata, then this method returns an iterator which compares equal to that returned by <a class="el" href="classXapian_1_1Database.html#396f880275e2d95dccc8d8b0c9dec689" title="Corresponding end iterator to metadata_keys_begin().">metadata_keys_end()</a>.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>prefix</em>&nbsp;</td><td>If non-empty, only keys with this prefix are returned.</td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classXapian_1_1UnimplementedError.html" title="UnimplementedError indicates an attempt to use an unimplemented feature.">Xapian::UnimplementedError</a></em>&nbsp;</td><td>will be thrown if the backend implements user-specified metadata, but doesn't implement iterating its keys (currently this happens for the <a class="el" href="namespaceXapian_1_1InMemory.html" title="Database factory functions for the inmemory backend.">InMemory</a> backend). </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="396f880275e2d95dccc8d8b0c9dec689"></a><!-- doxytag: member="Xapian::Database::metadata_keys_end" ref="396f880275e2d95dccc8d8b0c9dec689" args="(const std::string &amp;=&quot;&quot;) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXapian_1_1TermIterator.html">Xapian::TermIterator</a> Xapian::Database::metadata_keys_end           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> = <code>&quot;&quot;</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Corresponding end iterator to <a class="el" href="classXapian_1_1Database.html#aea76aef9ab0191fb3ac984cfb403f45" title="An iterator which returns all user-specified metadata keys.">metadata_keys_begin()</a>. 
<p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>xapian/<a class="el" href="database_8h.html">database.h</a></ul>
<hr>
<address><small>
Documentation for Xapian (version 1.0.21).<br>
Generated on 18 Jun 2010 by
<a href="http://www.doxygen.org/">Doxygen 1.5.2</a>.
</small></address>
</body>
</html>