queryparser.h | queryparser.h | |||
---|---|---|---|---|
/** \file queryparser.h | /** \file queryparser.h | |||
* \brief parsing a user query string to build a Xapian::Query object | * \brief parsing a user query string to build a Xapian::Query object | |||
*/ | */ | |||
/* Copyright (C) 2005,2006,2007,2008,2009 Olly Betts | /* Copyright (C) 2005,2006,2007,2008,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 35 | skipping to change at line 35 | |||
#include <xapian/base.h> | #include <xapian/base.h> | |||
#include <xapian/query.h> | #include <xapian/query.h> | |||
#include <xapian/termiterator.h> | #include <xapian/termiterator.h> | |||
#include <xapian/visibility.h> | #include <xapian/visibility.h> | |||
#include <set> | #include <set> | |||
#include <string> | #include <string> | |||
namespace Xapian { | namespace Xapian { | |||
class Database; | ||||
class Stem; | class Stem; | |||
/// Base class for stop-word decision functor. | /// Base class for stop-word decision functor. | |||
class XAPIAN_VISIBILITY_DEFAULT Stopper { | class XAPIAN_VISIBILITY_DEFAULT Stopper { | |||
public: | public: | |||
/// Is term a stop-word? | /// Is term a stop-word? | |||
virtual bool operator()(const std::string & term) const = 0; | virtual bool operator()(const std::string & term) const = 0; | |||
/// Class has virtual methods, so provide a virtual destructor. | /// Class has virtual methods, so provide a virtual destructor. | |||
virtual ~Stopper() { } | virtual ~Stopper() { } | |||
skipping to change at line 405 | skipping to change at line 406 | |||
void set_database(const Database &db); | void set_database(const Database &db); | |||
/** Parse a query. | /** Parse a query. | |||
* | * | |||
* @param query_string A free-text query as entered by a user | * @param query_string A free-text query as entered by a user | |||
* @param flags Zero or more Query::feature_flag specifying | * @param flags Zero or more Query::feature_flag specifying | |||
* what features the QueryParser should support. Combine | * what features the QueryParser should support. Combine | |||
* multiple values with bitwise-or (|) (default FLAG_DEFAULT). | * multiple values with bitwise-or (|) (default FLAG_DEFAULT). | |||
* @param default_prefix The default term prefix to use (default none) . | * @param default_prefix The default term prefix to use (default none) . | |||
* For example, you can pass "A" when parsing an "Author" field . | * For example, you can pass "A" when parsing an "Author" field . | |||
* | ||||
* @exception If the query string can't be parsed, then | ||||
* Xapian::QueryParserError is thrown. You can get an Engli | ||||
sh | ||||
* error message to report to the user by catching it and | ||||
* calling get_msg() on the caught exception. The current | ||||
* possible values (in case you want to translate them) are: | ||||
* | ||||
* * Unknown range operation | ||||
* * parse error | ||||
* * Syntax: <expression> AND <expression> | ||||
* * Syntax: <expression> AND NOT <expression> | ||||
* * Syntax: <expression> NOT <expression> | ||||
* * Syntax: <expression> OR <expression> | ||||
* * Syntax: <expression> XOR <expression> | ||||
*/ | */ | |||
Query parse_query(const std::string &query_string, | Query parse_query(const std::string &query_string, | |||
unsigned flags = FLAG_PHRASE|FLAG_BOOLEAN|FLAG_LOVEHAT E, | unsigned flags = FLAG_PHRASE|FLAG_BOOLEAN|FLAG_LOVEHAT E, | |||
const std::string &default_prefix = ""); | const std::string &default_prefix = ""); | |||
/** Add a probabilistic term prefix. | /** Add a probabilistic term prefix. | |||
* | * | |||
* For example: | * For example: | |||
* | * | |||
* @code | * @code | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 17 lines changed or added | |||
termgenerator.h | termgenerator.h | |||
---|---|---|---|---|
skipping to change at line 66 | skipping to change at line 66 | |||
/// Default constructor. | /// Default constructor. | |||
TermGenerator(); | TermGenerator(); | |||
/// Destructor. | /// Destructor. | |||
~TermGenerator(); | ~TermGenerator(); | |||
/// Set the Xapian::Stem object to be used for generating stemmed terms . | /// Set the Xapian::Stem object to be used for generating stemmed terms . | |||
void set_stemmer(const Xapian::Stem & stemmer); | void set_stemmer(const Xapian::Stem & stemmer); | |||
/// Set the Xapian::Stopper object to be used for identifying stopwords | /** Set the Xapian::Stopper object to be used for identifying stopwords | |||
. | . | |||
* | ||||
* Stemmed forms of stopwords aren't indexed, but unstemmed forms stil | ||||
l | ||||
* are so that searches for phrases including stop words still work. | ||||
*/ | ||||
void set_stopper(const Xapian::Stopper *stop = NULL); | void set_stopper(const Xapian::Stopper *stop = NULL); | |||
/// Set the current document. | /// Set the current document. | |||
void set_document(const Xapian::Document & doc); | void set_document(const Xapian::Document & doc); | |||
/// Get the current document. | /// Get the current document. | |||
const Xapian::Document & get_document() const; | const Xapian::Document & get_document() const; | |||
/// Set the database to index spelling data to. | /// Set the database to index spelling data to. | |||
void set_database(const Xapian::WritableDatabase &db); | void set_database(const Xapian::WritableDatabase &db); | |||
End of changes. 1 change blocks. | ||||
2 lines changed or deleted | 7 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.18" | #define XAPIAN_VERSION "1.0.19" | |||
/** 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 18 | #define XAPIAN_REVISION 19 | |||
/// 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 | |||