Merge pull request #2553 from danielhones/improve-results-highlighting-updated
Ignore double-quotes when highlighting query parts
This commit is contained in:
		
						commit
						6c513095e4
					
				| @ -154,6 +154,6 @@ generally made searx better: | |||||||
| - @mrwormo | - @mrwormo | ||||||
| - Xiaoyu WEI @xywei | - Xiaoyu WEI @xywei | ||||||
| - @joshu9h | - @joshu9h | ||||||
| 
 | - Daniel Hones | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -119,7 +119,10 @@ def highlight_content(content, query): | |||||||
|     else: |     else: | ||||||
|         regex_parts = [] |         regex_parts = [] | ||||||
|         for chunk in query.split(): |         for chunk in query.split(): | ||||||
|             if len(chunk) == 1: |             chunk = chunk.replace('"', '') | ||||||
|  |             if len(chunk) == 0: | ||||||
|  |                 continue | ||||||
|  |             elif len(chunk) == 1: | ||||||
|                 regex_parts.append('\\W+{0}\\W+'.format(re.escape(chunk))) |                 regex_parts.append('\\W+{0}\\W+'.format(re.escape(chunk))) | ||||||
|             else: |             else: | ||||||
|                 regex_parts.append('{0}'.format(re.escape(chunk))) |                 regex_parts.append('{0}'.format(re.escape(chunk))) | ||||||
|  | |||||||
| @ -34,6 +34,28 @@ class TestWebUtils(SearxTestCase): | |||||||
|         query = 'a test' |         query = 'a test' | ||||||
|         self.assertEqual(webutils.highlight_content(content, query), content) |         self.assertEqual(webutils.highlight_content(content, query), content) | ||||||
| 
 | 
 | ||||||
|  |         data = ( | ||||||
|  |             ('" test "', | ||||||
|  |              'a test string', | ||||||
|  |              'a <span class="highlight">test</span> string'), | ||||||
|  |             ('"a"', | ||||||
|  |              'this is a test string', | ||||||
|  |              'this is<span class="highlight"> a </span>test string'), | ||||||
|  |             ('a test', | ||||||
|  |              'this is a test string that matches entire query', | ||||||
|  |              'this is <span class="highlight">a test</span> string that matches entire query'), | ||||||
|  |             ('this a test', | ||||||
|  |              'this is a string to test.', | ||||||
|  |              ('<span class="highlight">this</span> is<span class="highlight"> a </span>' | ||||||
|  |               'string to <span class="highlight">test</span>.')), | ||||||
|  |             ('match this "exact phrase"', | ||||||
|  |              'this string contains the exact phrase we want to match', | ||||||
|  |              ('<span class="highlight">this</span> string contains the <span class="highlight">exact</span>' | ||||||
|  |               ' <span class="highlight">phrase</span> we want to <span class="highlight">match</span>')) | ||||||
|  |         ) | ||||||
|  |         for query, content, expected in data: | ||||||
|  |             self.assertEqual(webutils.highlight_content(content, query), expected) | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class TestUnicodeWriter(SearxTestCase): | class TestUnicodeWriter(SearxTestCase): | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user