Skip to content

Commit

Permalink
Handle single quote when searching by keyword.
Browse files Browse the repository at this point in the history
Similarly to other characters, add single quotes to the list of characters to handle when searching by keyword.

Fixes: CV2-5808.
  • Loading branch information
caiosba committed Dec 16, 2024
1 parent cb54d3a commit 6f3d2d3
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/check_search.rb
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ def adjust_keyword_filter
unless @options['keyword'].blank?
# This regex removes all characters except letters, numbers, hashtag, search operators, emojis and whitespace
# in any language - stripping out special characters can improve match results
@options['keyword'].gsub!(/[^[:word:]\s#~+\-|()"\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F700}-\u{1F77F}\u{1F780}-\u{1F7FF}\u{1F800}-\u{1F8FF}\u{1F900}-\u{1F9FF}\u{1FA00}-\u{1FA6F}\u{1F1E6}-\u{1F1FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/, ' ')
@options['keyword'].gsub!(/[^[:word:]\s#'~+\-|()"\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F700}-\u{1F77F}\u{1F780}-\u{1F7FF}\u{1F800}-\u{1F8FF}\u{1F900}-\u{1F9FF}\u{1FA00}-\u{1FA6F}\u{1F1E6}-\u{1F1FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/, ' ')

# Set fuzzy matching for keyword search, right now with automatic Levenshtein Edit Distance
# https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html
Expand Down
4 changes: 4 additions & 0 deletions test/lib/check_search_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,9 @@ def teardown
query = 'Something is going to happen on 04/11, reportedly'
search = CheckSearch.new({ keyword: query }.to_json, nil, @team.id)
assert_equal 'Something is going to happen on 04 11 reportedly', search.instance_variable_get('@options')['keyword']

query = "Something is going to happen on Foo's house"
search = CheckSearch.new({ keyword: query }.to_json, nil, @team.id)
assert_equal "Something is going to happen on Foo's house", search.instance_variable_get('@options')['keyword']
end
end

0 comments on commit 6f3d2d3

Please sign in to comment.