mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Further work for dealing with common words and punctuation.
This commit is contained in:
parent
a043e21c8e
commit
b9307dd4da
@ -451,11 +451,15 @@ class SearchFilter(SearchQueryParser):
|
||||
vals = accessor(sr).split(',')
|
||||
elif locvalue in ('author2', 'title2'):
|
||||
m = self.IN_MATCH
|
||||
vals = re.sub(r'(^|\s)(and|not|or|a|the|is|of)(\s|$)', ' ', accessor(sr))
|
||||
vals = re.sub('[.,!@#$%^&*\(\)\'"\[\]]', ' ', vals)
|
||||
def field_trimmer(field):
|
||||
field = re.sub(r'(^|\s)(and|not|or|a|the|is|of)(\s|$)', ' ', field)
|
||||
field = re.sub('[.,!@#$%^&*\(\)\'"\[\]]', ' ', field)
|
||||
return field
|
||||
vals = field_trimmer(accessor(sr))
|
||||
vals = vals.split(' ')
|
||||
vals = [x for x in vals if x]
|
||||
final_query = query.lower()
|
||||
final_query = field_trimmer(query.lower())
|
||||
final_query = re.sub('[ ]{2,}', ' ', final_query)
|
||||
else:
|
||||
vals = [accessor(sr)]
|
||||
if self._match(final_query, vals, m):
|
||||
|
Loading…
x
Reference in New Issue
Block a user