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


Loading...
Searching...
No Matches
FuzzyQuery.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 FUZZYQUERY_H
8#define FUZZYQUERY_H
9
10#include "MultiTermQuery.h"
11
12namespace Lucene {
13
19class LPPAPI FuzzyQuery : public MultiTermQuery {
20public:
29 FuzzyQuery(const TermPtr& term, double minimumSimilarity, int32_t prefixLength);
30 FuzzyQuery(const TermPtr& term, double minimumSimilarity);
31 FuzzyQuery(const TermPtr& term);
32
33 virtual ~FuzzyQuery();
34
36
37protected:
39 int32_t prefixLength;
41
43
44public:
45 static double defaultMinSimilarity();
46 static const int32_t defaultPrefixLength;
47
48public:
49 using MultiTermQuery::toString;
50
54
57 int32_t getPrefixLength();
58
61
62 virtual void setRewriteMethod(const RewriteMethodPtr& method);
63 virtual QueryPtr rewrite(const IndexReaderPtr& reader);
64
66 virtual String toString(const String& field);
67 virtual int32_t hashCode();
68 virtual bool equals(const LuceneObjectPtr& other);
69
70protected:
71 void ConstructQuery(const TermPtr& term, double minimumSimilarity, int32_t prefixLength);
72
74};
75
76}
77
78#endif
#define LUCENE_CLASS(Name)
Definition LuceneObject.h:24
Implements the fuzzy search query. The similarity measurement is based on the Levenshtein (edit dista...
Definition FuzzyQuery.h:19
TermPtr getTerm()
Returns the pattern term.
double minimumSimilarity
Definition FuzzyQuery.h:38
TermPtr term
Definition FuzzyQuery.h:42
virtual QueryPtr rewrite(const IndexReaderPtr &reader)
Called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into ...
virtual FilteredTermEnumPtr getEnum(const IndexReaderPtr &reader)
Construct the enumeration to be used, expanding the pattern term.
double getMinSimilarity()
Returns the minimum similarity that is required for this query to match.
int32_t getPrefixLength()
Returns the non-fuzzy prefix length. This is the number of characters at the start of a term that mus...
virtual ~FuzzyQuery()
static double defaultMinSimilarity()
FuzzyQuery(const TermPtr &term, double minimumSimilarity, int32_t prefixLength)
Create a new FuzzyQuery that will match terms with a similarity of at least minimumSimilarity to term...
virtual bool equals(const LuceneObjectPtr &other)
Return whether two objects are equal.
virtual LuceneObjectPtr clone(const LuceneObjectPtr &other=LuceneObjectPtr())
Returns a clone of this query.
virtual int32_t hashCode()
Return hash code for this object.
int32_t prefixLength
Definition FuzzyQuery.h:39
FuzzyQuery(const TermPtr &term, double minimumSimilarity)
bool termLongEnough
Definition FuzzyQuery.h:40
void ConstructQuery(const TermPtr &term, double minimumSimilarity, int32_t prefixLength)
virtual void setRewriteMethod(const RewriteMethodPtr &method)
Sets the rewrite method to be used when executing the query. You can use one of the four core methods...
FuzzyQuery(const TermPtr &term)
static const int32_t defaultPrefixLength
Definition FuzzyQuery.h:46
virtual String toString(const String &field)
Prints a query to a string, with field assumed to be the default field and omitted.
An abstract Query that matches documents containing a subset of terms provided by a FilteredTermEnum ...
Definition MultiTermQuery.h:31
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< RewriteMethod > RewriteMethodPtr
Definition LuceneTypes.h:425
boost::shared_ptr< LuceneObject > LuceneObjectPtr
Definition LuceneTypes.h:539
boost::shared_ptr< Query > QueryPtr
Definition LuceneTypes.h:420
boost::shared_ptr< Term > TermPtr
Definition LuceneTypes.h:233
boost::shared_ptr< IndexReader > IndexReaderPtr
Definition LuceneTypes.h:157
boost::shared_ptr< FilteredTermEnum > FilteredTermEnumPtr
Definition LuceneTypes.h:365

clucene.sourceforge.net