Fix Levenshtein distance algorithm #1431
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Product Description
This PR fixes a small issue with the Levenshtein distance calculation, which was causing the fuzzy search to return false positives. For instance, the difference between
aply
intocape
was previously 2 while it should be 3, and because our distance threshold is set at 2, the cape was a valid value foraply
.Another look to the source of the algorithm, I could also confirm that this was initially incorrect:
and later on updated to the current form:
Ticket: https://dimagi.atlassian.net/browse/SAAS-15738
Technical Summary
Safety Assurance
Automated test coverage
There are unit tests around this feature and they seem to have not been affected by this change.
Special deploy instructions
Rollback instructions
Review
Duplicate PR
Automatically duplicate this PR as defined in contributing.md.