Interface FuzzyTermsEnum.AutomatonAttribute

All Superinterfaces:
Attribute
All Known Implementing Classes:
FuzzyTermsEnum.AutomatonAttributeImpl
Enclosing class:
FuzzyTermsEnum

private static interface FuzzyTermsEnum.AutomatonAttribute extends Attribute
Used for sharing automata between segments

Levenshtein automata are large and expensive to build; we don't want to build them directly on the query because this can blow up caches that use queries as keys; we also don't want to rebuild them for every segment. This attribute allows the FuzzyTermsEnum to build the automata once for its first segment and then share them for subsequent segment calls.