|  |  |  | @ -46,6 +46,8 @@ module SearchEntries | 
			
		
	
		
			
				
					|  |  |  |  |   end | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def build_tsquery(keyword) | 
			
		
	
		
			
				
					|  |  |  |  |     keyword = keyword.delete("\0") | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     if keyword.match?(/\d/) && !keyword.match?(/\p{L}/) | 
			
		
	
		
			
				
					|  |  |  |  |       number = keyword.gsub(/\D/, '') | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -86,10 +88,10 @@ module SearchEntries | 
			
		
	
		
			
				
					|  |  |  |  |       [ | 
			
		
	
		
			
				
					|  |  |  |  |         "SELECT setweight(to_tsvector(?), 'A') || setweight(to_tsvector(?), 'B') || | 
			
		
	
		
			
				
					|  |  |  |  |                 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(PhoneCodes::REGEXP, '').gsub(/\D/, '')].uniq.join(' '), | 
			
		
	
		
			
				
					|  |  |  |  |         TextUtils.transliterate(submitter.name.to_s.downcase), | 
			
		
	
		
			
				
					|  |  |  |  |          submitter.phone.to_s.gsub(PhoneCodes::REGEXP, '').gsub(/\D/, '')].uniq.join(' ').delete("\0"), | 
			
		
	
		
			
				
					|  |  |  |  |         TextUtils.transliterate(submitter.name.to_s.downcase).delete("\0"), | 
			
		
	
		
			
				
					|  |  |  |  |         build_submitter_values_string(submitter) | 
			
		
	
		
			
				
					|  |  |  |  |       ] | 
			
		
	
		
			
				
					|  |  |  |  |     ) | 
			
		
	
	
		
			
				
					|  |  |  | @ -118,12 +120,12 @@ module SearchEntries | 
			
		
	
		
			
				
					|  |  |  |  |         TextUtils.transliterate(v) | 
			
		
	
		
			
				
					|  |  |  |  |       end | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     values.uniq.join(' ') | 
			
		
	
		
			
				
					|  |  |  |  |     values.uniq.join(' ').downcase.delete("\0") | 
			
		
	
		
			
				
					|  |  |  |  |   end | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def index_template(template) | 
			
		
	
		
			
				
					|  |  |  |  |     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 | 
			
		
	
	
		
			
				
					|  |  |  | @ -146,7 +148,7 @@ module SearchEntries | 
			
		
	
		
			
				
					|  |  |  |  |     return if submission.name.blank? | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     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 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |