Lucene++ - a full-featured, c++ search engine
API Documentation


MultiFieldQueryParser.h
Go to the documentation of this file.
1 // Copyright (c) 2009-2014 Alan Wright. All rights reserved.
3 // Distributable under the terms of either the Apache License (Version 2.0)
4 // or the GNU Lesser General Public License.
6 
7 #ifndef MULTIFIELDQUERYPARSER_H
8 #define MULTIFIELDQUERYPARSER_H
9 
10 #include "QueryParser.h"
11 #include "BooleanClause.h"
12 
13 namespace Lucene {
14 
16 class LPPAPI MultiFieldQueryParser : public QueryParser {
17 public:
39  MultiFieldQueryParser(LuceneVersion::Version matchVersion, Collection<String> fields, const AnalyzerPtr& analyzer, MapStringDouble boosts);
40 
55  MultiFieldQueryParser(LuceneVersion::Version matchVersion, Collection<String> fields, const AnalyzerPtr& analyzer);
56 
57  virtual ~MultiFieldQueryParser();
58 
60 
61 protected:
62  Collection<String> fields;
63  MapStringDouble boosts;
64 
65 public:
66  using QueryParser::parse;
67 
78  static QueryPtr parse(LuceneVersion::Version matchVersion, Collection<String> queries, Collection<String> fields, const AnalyzerPtr& analyzer);
79 
100  static QueryPtr parse(LuceneVersion::Version matchVersion, const String& query, Collection<String> fields, Collection<BooleanClause::Occur> flags, const AnalyzerPtr& analyzer);
101 
123  static QueryPtr parse(LuceneVersion::Version matchVersion, Collection<String> queries, Collection<String> fields, Collection<BooleanClause::Occur> flags, const AnalyzerPtr& analyzer);
124 
125 protected:
126  virtual QueryPtr getFieldQuery(const String& field, const String& queryText, int32_t slop);
127  virtual QueryPtr getFieldQuery(const String& field, const String& queryText);
128  void applySlop(const QueryPtr& query, int32_t slop);
129 
130  virtual QueryPtr getFuzzyQuery(const String& field, const String& termStr, double minSimilarity);
131  virtual QueryPtr getPrefixQuery(const String& field, const String& termStr);
132  virtual QueryPtr getWildcardQuery(const String& field, const String& termStr);
133  virtual QueryPtr getRangeQuery(const String& field, const String& part1, const String& part2, bool inclusive);
134 };
135 
136 }
137 
138 #endif
LUCENE_CLASS
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Lucene::Collection< String >
Lucene::LuceneVersion::Version
Version
Definition: Constants.h:40
QueryParser.h
Lucene::QueryPtr
boost::shared_ptr< Query > QueryPtr
Definition: LuceneTypes.h:420
BooleanClause.h
Lucene::AnalyzerPtr
boost::shared_ptr< Analyzer > AnalyzerPtr
Definition: LuceneTypes.h:20
Lucene::MultiFieldQueryParser
A QueryParser which constructs queries to search multiple fields.
Definition: MultiFieldQueryParser.h:16
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::MultiFieldQueryParser::boosts
MapStringDouble boosts
Definition: MultiFieldQueryParser.h:63
Lucene::QueryParser::parse
QueryPtr parse(const String &query)
Parses a query string, returning a Query.
Lucene::QueryParser
The most important method is parse(const String&).
Definition: QueryParser.h:70

clucene.sourceforge.net