diff options
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/attribute/dfa_fuzzy_matcher.cpp | 1 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/attribute/dfa_fuzzy_matcher.h | 7 |
2 files changed, 3 insertions, 5 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/dfa_fuzzy_matcher.cpp b/searchlib/src/vespa/searchlib/attribute/dfa_fuzzy_matcher.cpp index b16fdc12a9a..18f480eebcd 100644 --- a/searchlib/src/vespa/searchlib/attribute/dfa_fuzzy_matcher.cpp +++ b/searchlib/src/vespa/searchlib/attribute/dfa_fuzzy_matcher.cpp @@ -47,7 +47,6 @@ DfaFuzzyMatcher::DfaFuzzyMatcher(std::string_view target, uint8_t max_edits, uin : _dfa(vespalib::fuzzy::LevenshteinDfa::build(extract_suffix(target, prefix_size), max_edits, (cased ? LevenshteinDfa::Casing::Cased : LevenshteinDfa::Casing::Uncased), dfa_type)), _successor(), _prefix(extract_prefix(target, prefix_size, cased)), - _successor_suffix(), _prefix_size(prefix_size), _cased(cased) { diff --git a/searchlib/src/vespa/searchlib/attribute/dfa_fuzzy_matcher.h b/searchlib/src/vespa/searchlib/attribute/dfa_fuzzy_matcher.h index 7116b4d8662..8e5b3ce0ccd 100644 --- a/searchlib/src/vespa/searchlib/attribute/dfa_fuzzy_matcher.h +++ b/searchlib/src/vespa/searchlib/attribute/dfa_fuzzy_matcher.h @@ -20,7 +20,6 @@ private: vespalib::fuzzy::LevenshteinDfa _dfa; std::vector<uint32_t> _successor; std::vector<uint32_t> _prefix; - std::vector<uint32_t> _successor_suffix; uint32_t _prefix_size; bool _cased; @@ -50,14 +49,14 @@ public: _successor.resize(_prefix.size()); _successor.emplace_back(1); } else { - auto match = _dfa.match(word, _successor_suffix); + _successor.resize(_prefix.size()); + auto match = _dfa.match(word, _successor); if (match.matches()) { return true; } - _successor.resize(_prefix.size()); - _successor.insert(_successor.end(), _successor_suffix.begin(), _successor_suffix.end()); } } else { + _successor.clear(); auto match = _dfa.match(word, _successor); if (match.matches()) { return true; |