fix reindex
This commit is contained in:
@@ -46,6 +46,8 @@ module SearchEntries
|
|||||||
end
|
end
|
||||||
|
|
||||||
def build_tsquery(keyword)
|
def build_tsquery(keyword)
|
||||||
|
keyword = keyword.delete("\0")
|
||||||
|
|
||||||
if keyword.match?(/\d/) && !keyword.match?(/\p{L}/)
|
if keyword.match?(/\d/) && !keyword.match?(/\p{L}/)
|
||||||
number = keyword.gsub(/\D/, '')
|
number = keyword.gsub(/\D/, '')
|
||||||
|
|
||||||
@@ -86,10 +88,10 @@ module SearchEntries
|
|||||||
[
|
[
|
||||||
"SELECT setweight(to_tsvector(?), 'A') || setweight(to_tsvector(?), 'B') ||
|
"SELECT setweight(to_tsvector(?), 'A') || setweight(to_tsvector(?), 'B') ||
|
||||||
setweight(to_tsvector(?), 'C') || setweight(to_tsvector(?), 'D')".squish,
|
setweight(to_tsvector(?), 'C') || setweight(to_tsvector(?), 'D')".squish,
|
||||||
[submitter.email.to_s, submitter.email.to_s.split('@').last].join(' ').downcase,
|
[submitter.email.to_s, submitter.email.to_s.split('@').last].join(' ').downcase.delete("\0"),
|
||||||
[submitter.phone.to_s.gsub(/\D/, ''),
|
[submitter.phone.to_s.gsub(/\D/, ''),
|
||||||
submitter.phone.to_s.gsub(PhoneCodes::REGEXP, '').gsub(/\D/, '')].uniq.join(' '),
|
submitter.phone.to_s.gsub(PhoneCodes::REGEXP, '').gsub(/\D/, '')].uniq.join(' ').delete("\0"),
|
||||||
TextUtils.transliterate(submitter.name.to_s.downcase),
|
TextUtils.transliterate(submitter.name.to_s.downcase).delete("\0"),
|
||||||
build_submitter_values_string(submitter)
|
build_submitter_values_string(submitter)
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
@@ -118,12 +120,12 @@ module SearchEntries
|
|||||||
TextUtils.transliterate(v)
|
TextUtils.transliterate(v)
|
||||||
end
|
end
|
||||||
|
|
||||||
values.uniq.join(' ')
|
values.uniq.join(' ').downcase.delete("\0")
|
||||||
end
|
end
|
||||||
|
|
||||||
def index_template(template)
|
def index_template(template)
|
||||||
sql = SearchEntry.sanitize_sql_array(
|
sql = SearchEntry.sanitize_sql_array(
|
||||||
['SELECT to_tsvector(?)', TextUtils.transliterate(template.name.to_s.downcase)]
|
['SELECT to_tsvector(?)', TextUtils.transliterate(template.name.to_s.downcase).delete("\0")]
|
||||||
)
|
)
|
||||||
|
|
||||||
entry = template.search_entry || template.build_search_entry
|
entry = template.search_entry || template.build_search_entry
|
||||||
@@ -146,7 +148,7 @@ module SearchEntries
|
|||||||
return if submission.name.blank?
|
return if submission.name.blank?
|
||||||
|
|
||||||
sql = SearchEntry.sanitize_sql_array(
|
sql = SearchEntry.sanitize_sql_array(
|
||||||
['SELECT to_tsvector(?)', TextUtils.transliterate(submission.name.to_s.downcase)]
|
['SELECT to_tsvector(?)', TextUtils.transliterate(submission.name.to_s.downcase).delete("\0")]
|
||||||
)
|
)
|
||||||
|
|
||||||
entry = submission.search_entry || submission.build_search_entry
|
entry = submission.search_entry || submission.build_search_entry
|
||||||
|
|||||||
@@ -33,6 +33,8 @@ module Submitters
|
|||||||
end
|
end
|
||||||
|
|
||||||
def fulltext_search_field(current_user, submitters, keyword, field_name)
|
def fulltext_search_field(current_user, submitters, keyword, field_name)
|
||||||
|
keyword = keyword.delete("\0")
|
||||||
|
|
||||||
return submitters if keyword.blank?
|
return submitters if keyword.blank?
|
||||||
|
|
||||||
weight = FIELD_NAME_WEIGHTS[field_name]
|
weight = FIELD_NAME_WEIGHTS[field_name]
|
||||||
|
|||||||
Reference in New Issue
Block a user