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.