#ifndef __LUCENE_SEARCH_FUZZY_TERM_ENUM__
#define __LUCENE_SEARCH_FUZZY_TERM_ENUM__
/* This should be somewhere around the average long word.
* If it is longer, we waste time and space. If it is shorter, we waste a
* little bit of time growing the array as we encounter longer words.
*/
static int TYPICAL_LONGEST_WORD_IN_INDEX = 19;
int min(int a, int b, int c);
#include "LCFilteredTermEnum.h"
@class LCTerm;
@class LCIndexReader;
@interface LCFuzzyTermEnumerator: LCFilteredTermEnumerator
{
/* Allows us save time required to create a new array
* everytime similarity is called.
*/
/*
int *d;
int d_count_row;
int d_count_column;
*/
float similarity;
BOOL endEnum;
LCTerm *searchTerm;
NSString *field;
NSString *text;
NSString *prefix;
float minimumSimilarity;
float scale_factor;
NSMutableArray *maxDistances;
}
- (id) initWithReader: (LCIndexReader *) reader term: (LCTerm *) term;
- (id) initWithReader: (LCIndexReader *) reader term: (LCTerm *) term
similarity: (float) similarity;
- (id) initWithReader: (LCIndexReader *) reader term: (LCTerm *) term
similarity: (float) similarity prefixLength: (int) prefixLength;
@end
#endif /* __LUCENE_SEARCH_FUZZY_TERM_ENUM__ */
syntax highlighted by Code2HTML, v. 0.9.1