Fix StringMatcher's score calculation on distance of first match#77
Merged
Fix StringMatcher's score calculation on distance of first match#77
Conversation
we expect the score to change since we updated the logic for calculating the distance from the first match
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Current problem:
Part of how score is calculated with distance from first match is taking into consideration that a match found that is near the beginning of the compare string is scored more than a match found closer to the end.
So when searching for "man" in "eManual" and "Task Manager", more weight is given for 'eManual' as oppose to 'Task Manager' as the first match index in "eManual" is 1 whereas it is 5 for "Task Manager".
Solution:
When calculating the distance, consider the beginning of the distance as the space before the first match index.
So the space before "Manager" is the start of the distance calculation as oppose to using index 0 (the index of "T")