23 #ifndef XAPIAN_INCLUDED_QUERYPARSER_INTERNAL_H
24 #define XAPIAN_INCLUDED_QUERYPARSER_INTERNAL_H
55 const string& grouping_ =
string())
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,
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);
Parser State shared between the lexer and the parser.
This class is used to access a database, or a group of databases.
Base class for field processors.
Base class for objects managed by intrusive_ptr.
Xapian::Internal::opt_intrusive_ptr< const Stopper > stopper
list< RangeProc > rangeprocs
Xapian::termcount max_wildcard_expansion
multimap< string, string > unstem
map< string, FieldInfo > field_map
stem_strategy stem_action
Xapian::termcount max_partial_expansion
Build a Xapian::Query object from a user query string.
stem_strategy
Stemming strategies, for use with set_stemming_strategy().
Class representing a query.
Base class for range processors.
Class representing a stemming algorithm.
An iterator which returns Unicode character values from a UTF-8 encoded string.
API for working with Xapian databases.
The Xapian namespace contains public interfaces for the Xapian library.
unsigned XAPIAN_TERMCOUNT_BASE_TYPE termcount
A counts of terms.
parsing a user query string to build a Xapian::Query object
Information about how to handle a field prefix in the query string.
FieldInfo(filter_type type_, Xapian::FieldProcessor *proc_, const string &grouping_=string())
FieldInfo(filter_type type_, const string &prefix, const string &grouping_=string())
filter_type type
The type of this field.
vector< string > prefixes
Field prefix strings.
Xapian::Internal::opt_intrusive_ptr< Xapian::FieldProcessor > proc
Field processor. Currently only one is supported.
Xapian::Internal::opt_intrusive_ptr< RangeProcessor > proc
RangeProc(RangeProcessor *range_proc, const std::string *grouping_)