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


Loading...
Searching...
No Matches
FuzzyTermEnum.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 FUZZYTERMENUM_H
8#define FUZZYTERMENUM_H
9
10#include "FilteredTermEnum.h"
11
12namespace Lucene {
13
18class LPPAPI FuzzyTermEnum : public FilteredTermEnum {
19public:
29 FuzzyTermEnum(const IndexReaderPtr& reader, const TermPtr& term, double minSimilarity, int32_t prefixLength);
30 FuzzyTermEnum(const IndexReaderPtr& reader, const TermPtr& term, double minSimilarity);
31 FuzzyTermEnum(const IndexReaderPtr& reader, const TermPtr& term);
32
33 virtual ~FuzzyTermEnum();
34
36
37protected:
41
44
46 String field;
47 String text;
48 String prefix;
49
52
53public:
54 virtual double difference();
55 virtual bool endEnum();
56 virtual void close();
57
58protected:
59 void ConstructTermEnum(const IndexReaderPtr& reader, const TermPtr& term, double minSimilarity, int32_t prefixLength);
60
63 virtual bool termCompare(const TermPtr& term);
64
105 double similarity(const String& target);
106
111 int32_t calculateMaxDistance(int32_t m);
112};
113
114}
115
116#endif
#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
Abstract class for enumerating a subset of all terms.
Definition FilteredTermEnum.h:18
Subclass of FilteredTermEnum for enumerating all terms that are similar to the specified filter term.
Definition FuzzyTermEnum.h:18
Collection< int32_t > d
Definition FuzzyTermEnum.h:40
double minimumSimilarity
Definition FuzzyTermEnum.h:50
int32_t calculateMaxDistance(int32_t m)
The max Distance is the maximum Levenshtein distance for the text compared to some other value that r...
virtual bool endEnum()
Indicates the end of the enumeration has been reached.
String text
Definition FuzzyTermEnum.h:47
double scale_factor
Definition FuzzyTermEnum.h:51
double _similarity
Definition FuzzyTermEnum.h:42
virtual bool termCompare(const TermPtr &term)
The termCompare method in FuzzyTermEnum uses Levenshtein distance to calculate the distance between t...
Collection< int32_t > p
Allows us save time required to create a new array every time similarity is called.
Definition FuzzyTermEnum.h:39
void ConstructTermEnum(const IndexReaderPtr &reader, const TermPtr &term, double minSimilarity, int32_t prefixLength)
TermPtr searchTerm
Definition FuzzyTermEnum.h:45
FuzzyTermEnum(const IndexReaderPtr &reader, const TermPtr &term)
bool _endEnum
Definition FuzzyTermEnum.h:43
String field
Definition FuzzyTermEnum.h:46
FuzzyTermEnum(const IndexReaderPtr &reader, const TermPtr &term, double minSimilarity, int32_t prefixLength)
Constructor for enumeration of all terms from specified reader which share a prefix of length prefixL...
FuzzyTermEnum(const IndexReaderPtr &reader, const TermPtr &term, double minSimilarity)
virtual void close()
Closes the enumeration to further activity, freeing resources.
double similarity(const String &target)
Compute Levenshtein distance.
String prefix
Definition FuzzyTermEnum.h:48
virtual double difference()
Equality measure on the term.
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< Term > TermPtr
Definition LuceneTypes.h:233
boost::shared_ptr< IndexReader > IndexReaderPtr
Definition LuceneTypes.h:157

clucene.sourceforge.net