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


PhraseQuery.h
Go to the documentation of this file.
1
2// 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 PHRASEQUERY_H
8#define PHRASEQUERY_H
9
10#include "Query.h"
11
12namespace Lucene {
13
18class LPPAPI PhraseQuery : public Query {
19public:
22 virtual ~PhraseQuery();
23
25
26protected:
27 String field;
30 int32_t maxPosition;
31 int32_t slop;
32
33public:
34 using Query::toString;
35
46 void setSlop(int32_t slop);
47
50 int32_t getSlop();
51
54 void add(const TermPtr& term);
55
59 void add(const TermPtr& term, int32_t position);
60
63
66
67 virtual WeightPtr createWeight(const SearcherPtr& searcher);
68 virtual void extractTerms(SetTerm terms);
69
71 virtual String toString(const String& field);
72
73 virtual bool equals(const LuceneObjectPtr& other);
74 virtual int32_t hashCode();
76
77 friend class PhraseWeight;
78};
79
80}
81
82#endif
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
A Query that matches documents containing a particular sequence of terms. A PhraseQuery is built by Q...
Definition: PhraseQuery.h:18
void setSlop(int32_t slop)
Sets the number of other words permitted between words in query phrase. If zero, then this is an exac...
virtual void extractTerms(SetTerm terms)
Adds all terms occurring in this query to the terms set. Only works if this query is in its rewritten...
virtual bool equals(const LuceneObjectPtr &other)
Return whether two objects are equal.
int32_t getSlop()
Returns the slop.
void add(const TermPtr &term, int32_t position)
Adds a term to the end of the query phrase. The relative position of the term within the phrase is sp...
int32_t slop
Definition: PhraseQuery.h:31
Collection< int32_t > getPositions()
Returns the relative positions of terms in this phrase.
Collection< int32_t > positions
Definition: PhraseQuery.h:29
virtual WeightPtr createWeight(const SearcherPtr &searcher)
Constructs an appropriate Weight implementation for this query. Only implemented by primitive queries...
virtual int32_t hashCode()
Return hash code for this object.
Collection< TermPtr > getTerms()
Returns the set of terms in this phrase.
virtual ~PhraseQuery()
virtual String toString(const String &field)
Prints a user-readable version of this query.
void add(const TermPtr &term)
Adds a term to the end of the query phrase. The relative position of the term is the one immediately ...
String field
Definition: PhraseQuery.h:27
int32_t maxPosition
Definition: PhraseQuery.h:30
PhraseQuery()
Constructs an empty phrase query.
Collection< TermPtr > terms
Definition: PhraseQuery.h:28
virtual LuceneObjectPtr clone(const LuceneObjectPtr &other=LuceneObjectPtr())
Returns a clone of this query.
The abstract base class for queries.
Definition: Query.h:31
virtual String toString()
Prints a query to a string.
Definition: AbstractAllTermDocs.h:12
boost::shared_ptr< LuceneObject > LuceneObjectPtr
Definition: LuceneTypes.h:539
boost::shared_ptr< Searcher > SearcherPtr
Definition: LuceneTypes.h:434
boost::shared_ptr< Term > TermPtr
Definition: LuceneTypes.h:233
boost::shared_ptr< Weight > WeightPtr
Definition: LuceneTypes.h:480

clucene.sourceforge.net