From c89bef2762473d2f70e9f62ce6eed54bfde2af71 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9gis=20Hanol?= <regis@hanol.fr>
Date: Wed, 6 May 2015 19:58:29 +0200
Subject: [PATCH] FIX: proper regex for search terms

---
 lib/search.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/search.rb b/lib/search.rb
index 454aa5b7c53..97779db687e 100644
--- a/lib/search.rb
+++ b/lib/search.rb
@@ -426,7 +426,7 @@ class Search
 
     def self.ts_query(term, locale = nil, joiner = "&")
       locale = Post.sanitize(locale) if locale
-      all_terms = term.gsub(/[*:()&!'"]/,'').squish.split
+      all_terms = term.gsub(/[\p{P}\p{S}]+/, ' ').squish.split
       query = Post.sanitize(all_terms.map {|t| "#{PG::Connection.escape_string(t)}:*"}.join(" #{joiner} "))
       "TO_TSQUERY(#{locale || query_locale}, #{query})"
     end