blob: 8bddbe187fd7624111b10e1fc9360f5e124b6972 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
require 'sixarm_ruby_unaccent'
module SearchHelper
def expand_search_query(query)
return '' if query.blank?
query = query.downcase.unaccent.gsub(/[^\p{Word} [:punct:]]/, '').gsub(/ +/, ' ').strip
return '' if query.blank?
if query.include?(':')
query_parts = query.split(':', 2)
if %w(tag tags).include?(query_parts[0])
query = "^tag (#{query_parts[1].split.join('|')})"
elsif %w(subj text desc).include?(query_parts[0])
query = "^#{query_parts[0]} .*#{query_parts[1]}"
end
end
query.gsub(/"(.*)"/, '\\y\1\\y')
end
end
|