From 5aa3df017bcdefd15e041ca0a7e428f85887aff2 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 22 Mar 2017 17:36:34 +0100 Subject: Fix full-text search query quotation, improve tag search performance with an index, add ability to open status by URL from search (fix #53) --- app/models/tag.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'app/models/tag.rb') diff --git a/app/models/tag.rb b/app/models/tag.rb index e2ad8e4db..15625ca43 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -13,8 +13,9 @@ class Tag < ApplicationRecord class << self def search_for(terms, limit = 5) + terms = Arel.sql(connection.quote(terms.gsub(/['?\\:]/, ' '))) textsearch = 'to_tsvector(\'simple\', tags.name)' - query = 'to_tsquery(\'simple\', \'\'\' \' || ? || \' \'\'\' || \':*\')' + query = 'to_tsquery(\'simple\', \'\'\' \' || ' + terms + ' || \' \'\'\' || \':*\')' sql = <