23 #ifndef XAPIAN_INCLUDED_QUERYPARSER_INTERNAL_H 24 #define XAPIAN_INCLUDED_QUERYPARSER_INTERNAL_H 55 const string& grouping_ =
string())
56 : type(type_), grouping(grouping_)
58 prefixes.push_back(prefix);
62 const string& grouping_ =
string())
63 : type(type_), grouping(grouping_), proc(proc_)
79 grouping(grouping_ ? *grouping_ :
std::string()),
80 default_grouping(grouping_ == NULL) { }
111 void add_prefix(
const string &field,
const string &prefix);
115 void add_boolean_prefix(
const string &field,
const string &prefix,
116 const string* grouping);
119 const string* grouping);
122 bool try_word_break,
bool& needs_word_break,
126 Internal() : stem_action(STEM_SOME), stopper(NULL),
127 default_op(
Query::OP_OR), errmsg(NULL),
128 max_wildcard_expansion(0), max_partial_expansion(100),
129 max_wildcard_type(
Xapian::
Query::WILDCARD_LIMIT_ERROR),
130 max_partial_type(
Xapian::
Query::WILDCARD_LIMIT_MOST_FREQUENT) { }
132 Query parse_query(
const string & query_string,
unsigned int flags,
const string & default_prefix);
137 #endif // XAPIAN_INCLUDED_QUERYPARSER_INTERNAL_H The Xapian namespace contains public interfaces for the Xapian library.
Xapian::termcount max_wildcard_expansion
This class is used to access a database, or a group of databases.
Xapian::termcount max_partial_expansion
Class representing a stemming algorithm.
map< string, FieldInfo > field_map
Build a Xapian::Query object from a user query string.
Xapian::Internal::opt_intrusive_ptr< RangeProcessor > proc
unsigned XAPIAN_TERMCOUNT_BASE_TYPE termcount
A counts of terms.
RangeProc(RangeProcessor *range_proc, const std::string *grouping_)
Information about how to handle a field prefix in the query string.
Base class for field processors.
FieldInfo(filter_type type_, const string &prefix, const string &grouping_=string())
stem_strategy
Stemming strategies, for use with set_stemming_strategy().
Parser State shared between the lexer and the parser.
API for working with Xapian databases.
vector< string > prefixes
Field prefix strings.
Base class for objects managed by intrusive_ptr.
stem_strategy stem_action
Base class for range processors.
An iterator which returns Unicode character values from a UTF-8 encoded string.
Xapian::Internal::opt_intrusive_ptr< Xapian::FieldProcessor > proc
Field processor. Currently only one is supported.
list< RangeProc > rangeprocs
multimap< string, string > unstem
Class representing a query.
FieldInfo(filter_type type_, Xapian::FieldProcessor *proc_, const string &grouping_=string())
Xapian::Internal::opt_intrusive_ptr< const Stopper > stopper
parsing a user query string to build a Xapian::Query object
filter_type type
The type of this field.