7#ifndef MULTIPHRASEQUERY_H
8#define MULTIPHRASEQUERY_H
32 using Query::toString;
75 friend class MultiPhraseWeight;
#define LUCENE_CLASS(Name)
Definition LuceneObject.h:24
Utility template class to handle collections that can be safely copied and shared.
Definition Collection.h:17
MultiPhraseQuery is a generalized version of PhraseQuery, with an added method add(Term[])....
Definition MultiPhraseQuery.h:18
virtual bool equals(const LuceneObjectPtr &other)
Return whether two objects are equal.
int32_t getSlop()
Gets the phrase slop for this query.
void setSlop(int32_t s)
Sets the phrase slop for this query.
virtual LuceneObjectPtr clone(const LuceneObjectPtr &other=LuceneObjectPtr())
Returns a clone of this query.
virtual int32_t hashCode()
Return hash code for this object.
virtual String toString(const String &field)
Prints a user-readable version of this query.
virtual QueryPtr rewrite(const IndexReaderPtr &reader)
Called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into ...
virtual WeightPtr createWeight(const SearcherPtr &searcher)
Constructs an appropriate Weight implementation for this query. Only implemented by primitive queries...
int32_t slop
Definition MultiPhraseQuery.h:29
void add(Collection< TermPtr > terms)
Add multiple terms at the next position in the phrase. Any of the terms may match.
void add(const TermPtr &term)
Add a single term at the next position in the phrase.
Collection< int32_t > positions
Definition MultiPhraseQuery.h:28
virtual ~MultiPhraseQuery()
String field
Definition MultiPhraseQuery.h:26
bool termArraysEquals(Collection< Collection< TermPtr > > first, Collection< Collection< TermPtr > > second)
Collection< Collection< TermPtr > > getTermArrays()
Returns a List of the terms in the multiphrase. Do not modify the List or its contents.
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...
Collection< Collection< TermPtr > > termArrays
Definition MultiPhraseQuery.h:27
Collection< int32_t > getPositions()
Returns the relative positions of terms in this phrase.
void add(Collection< TermPtr > terms, int32_t position)
Allows to specify the relative position of terms within the phrase.
int32_t termArraysHashCode()
The abstract base class for queries.
Definition Query.h:31
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< LuceneObject > LuceneObjectPtr
Definition LuceneTypes.h:539
boost::shared_ptr< Query > QueryPtr
Definition LuceneTypes.h:420
boost::shared_ptr< Searcher > SearcherPtr
Definition LuceneTypes.h:434
boost::shared_ptr< Term > TermPtr
Definition LuceneTypes.h:233
boost::shared_ptr< IndexReader > IndexReaderPtr
Definition LuceneTypes.h:157
boost::shared_ptr< Weight > WeightPtr
Definition LuceneTypes.h:480