| document.h | | document.h | |
| /** \file document.h | | /** \file document.h | |
| * \brief API for working with documents | | * \brief API for working with documents | |
| */ | | */ | |
| /* Copyright 1999,2000,2001 BrightStation PLC | | /* Copyright 1999,2000,2001 BrightStation PLC | |
| * Copyright 2002 Ananova Ltd | | * Copyright 2002 Ananova Ltd | |
|
| * Copyright 2002,2003,2004,2006,2007,2009 Olly Betts | | * Copyright 2002,2003,2004,2006,2007,2009,2010 Olly Betts | |
| * | | * | |
| * This program is free software; you can redistribute it and/or | | * This program is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU General Public License as | | * modify it under the terms of the GNU General Public License as | |
| * published by the Free Software Foundation; either version 2 of the | | * published by the Free Software Foundation; either version 2 of the | |
| * License, or (at your option) any later version. | | * License, or (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| | | | |
| skipping to change at line 38 | | skipping to change at line 38 | |
| | | | |
| #include <xapian/base.h> | | #include <xapian/base.h> | |
| #include <xapian/types.h> | | #include <xapian/types.h> | |
| #include <xapian/termiterator.h> | | #include <xapian/termiterator.h> | |
| #include <xapian/visibility.h> | | #include <xapian/visibility.h> | |
| | | | |
| namespace Xapian { | | namespace Xapian { | |
| | | | |
| class ValueIterator; | | class ValueIterator; | |
| | | | |
|
| /// A document in the database - holds data, values, terms, and postings | | /** A handle representing a document in a Xapian database. | |
| | | * | |
| | | * The Document class fetches information from the database lazily. Usual | |
| | | ly | |
| | | * this behaviour isn't visible to users (except for the speed benefits), | |
| | | but | |
| | | * if the document in the database is modified or deleted, then preexistin | |
| | | g | |
| | | * Document objects may return the old or new versions of data (or throw | |
| | | * Xapian::DocNotFoundError in the case of deletion). | |
| | | * | |
| | | * Since Database objects work on a snapshot of the database's state, the | |
| | | * situation above can only happen with a WritableDatabase object, or if | |
| | | * you call Database::reopen() on a Database object. | |
| | | * | |
| | | * We recommend you avoid designs where this behaviour is an issue. | |
| | | */ | |
| class XAPIAN_VISIBILITY_DEFAULT Document { | | class XAPIAN_VISIBILITY_DEFAULT Document { | |
| public: | | public: | |
| class Internal; | | class Internal; | |
| /// @private @internal Reference counted internals. | | /// @private @internal Reference counted internals. | |
| Xapian::Internal::RefCntPtr<Internal> internal; | | Xapian::Internal::RefCntPtr<Internal> internal; | |
| | | | |
| /** @private @internal Constructor is only used by internal classes. | | /** @private @internal Constructor is only used by internal classes. | |
| * | | * | |
| * @param internal_ pointer to internal opaque class | | * @param internal_ pointer to internal opaque class | |
| */ | | */ | |
| | | | |
| skipping to change at line 125 | | skipping to change at line 138 | |
| Xapian::termpos tpos, | | Xapian::termpos tpos, | |
| Xapian::termcount wdfinc = 1); | | Xapian::termcount wdfinc = 1); | |
| | | | |
| /** Add a term to the document, without positional information. | | /** Add a term to the document, without positional information. | |
| * | | * | |
| * Any existing positional information for the term will be left | | * Any existing positional information for the term will be left | |
| * unmodified. | | * unmodified. | |
| * | | * | |
| * @param tname The name of the term. | | * @param tname The name of the term. | |
| * @param wdfinc The increment that will be applied to the wdf | | * @param wdfinc The increment that will be applied to the wdf | |
|
| * for this term. | | * for this term (default: 1). | |
| */ | | */ | |
| void add_term(const std::string & tname, Xapian::termcount wdfinc =
1); | | void add_term(const std::string & tname, Xapian::termcount wdfinc =
1); | |
| | | | |
|
| | | /** Add a boolean filter term to the document. | |
| | | * | |
| | | * This method adds @a term to the document with wdf of 0 - | |
| | | * this is generally what you want for a term used for boolean | |
| | | * filtering as the wdf of such terms is ignored, and it doesn't | |
| | | * make sense for them to contribute to the document's length. | |
| | | * | |
| | | * If the specified term already indexes this document, this method | |
| | | * has no effect. | |
| | | * | |
| | | * It is exactly the same as add_term(term, 0). | |
| | | * | |
| | | * This method was added in Xapian 1.0.18. | |
| | | * | |
| | | * @param term The term to add. | |
| | | */ | |
| | | void add_boolean_term(const std::string & term) { add_term(term, 0); | |
| | | } | |
| | | | |
| /** Remove a posting of a term from the document. | | /** Remove a posting of a term from the document. | |
| * | | * | |
| * Note that the term will still index the document even if all | | * Note that the term will still index the document even if all | |
| * occurrences are removed. To remove a term from a document | | * occurrences are removed. To remove a term from a document | |
| * completely, use remove_term(). | | * completely, use remove_term(). | |
| * | | * | |
| * @param tname The name of the term. | | * @param tname The name of the term. | |
| * @param tpos The position of the term. | | * @param tpos The position of the term. | |
| * @param wdfdec The decrement that will be applied to the wdf | | * @param wdfdec The decrement that will be applied to the wdf | |
| * when removing this posting. The wdf will not g
o | | * when removing this posting. The wdf will not g
o | |
| | | | |
End of changes. 4 change blocks. |
| 3 lines changed or deleted | | 38 lines changed or added | |
|
| version.h | | version.h | |
| | | | |
| skipping to change at line 39 | | skipping to change at line 39 | |
| #endif | | #endif | |
| | | | |
| #ifdef _GLIBCXX_DEBUG | | #ifdef _GLIBCXX_DEBUG | |
| #error You are compiling with _GLIBCXX_DEBUG defined, but the library | | #error You are compiling with _GLIBCXX_DEBUG defined, but the library | |
| #error was not compiled with this flag. The settings must match or your | | #error was not compiled with this flag. The settings must match or your | |
| #error program will not work correctly. | | #error program will not work correctly. | |
| #endif | | #endif | |
| #endif | | #endif | |
| | | | |
| /// The version of Xapian as a C string literal. | | /// The version of Xapian as a C string literal. | |
|
| #define XAPIAN_VERSION "1.0.17" | | #define XAPIAN_VERSION "1.0.18" | |
| | | | |
| /** The major component of the Xapian version. | | /** The major component of the Xapian version. | |
| * E.g. for Xapian 1.0.14 this would be: 1 | | * E.g. for Xapian 1.0.14 this would be: 1 | |
| */ | | */ | |
| #define XAPIAN_MAJOR_VERSION 1 | | #define XAPIAN_MAJOR_VERSION 1 | |
| | | | |
| /** The minor component of the Xapian version. | | /** The minor component of the Xapian version. | |
| * E.g. for Xapian 1.0.14 this would be: 0 | | * E.g. for Xapian 1.0.14 this would be: 0 | |
| */ | | */ | |
| #define XAPIAN_MINOR_VERSION 0 | | #define XAPIAN_MINOR_VERSION 0 | |
| | | | |
| /** The revision component of the Xapian version. | | /** The revision component of the Xapian version. | |
| * E.g. for Xapian 1.0.14 this would be: 14 | | * E.g. for Xapian 1.0.14 this would be: 14 | |
| */ | | */ | |
|
| #define XAPIAN_REVISION 17 | | #define XAPIAN_REVISION 18 | |
| | | | |
| /// XAPIAN_HAS_FLINT_BACKEND Defined if the flint backend is enabled. | | /// XAPIAN_HAS_FLINT_BACKEND Defined if the flint backend is enabled. | |
| #define XAPIAN_HAS_FLINT_BACKEND 1 | | #define XAPIAN_HAS_FLINT_BACKEND 1 | |
| | | | |
| /// XAPIAN_HAS_QUARTZ_BACKEND Defined if the quartz backend is enabled. | | /// XAPIAN_HAS_QUARTZ_BACKEND Defined if the quartz backend is enabled. | |
| #define XAPIAN_HAS_QUARTZ_BACKEND 1 | | #define XAPIAN_HAS_QUARTZ_BACKEND 1 | |
| | | | |
| /// XAPIAN_HAS_INMEMORY_BACKEND Defined if the inmemory backend is enabled. | | /// XAPIAN_HAS_INMEMORY_BACKEND Defined if the inmemory backend is enabled. | |
| #define XAPIAN_HAS_INMEMORY_BACKEND 1 | | #define XAPIAN_HAS_INMEMORY_BACKEND 1 | |
| | | | |
| | | | |
End of changes. 2 change blocks. |
| 2 lines changed or deleted | | 2 lines changed or added | |
|