mirror of
https://github.com/discourse/discourse.git
synced 2025-09-06 10:50:21 +08:00
PERF: optimise and improve topic similarity search
FIX: shows up similarity search with blank results
This commit is contained in:
parent
f20c5a02c7
commit
16b7004767
5 changed files with 56 additions and 16 deletions
|
@ -240,10 +240,10 @@ class Search
|
|||
self.class.query_locale
|
||||
end
|
||||
|
||||
def self.ts_query(term, locale = nil)
|
||||
def self.ts_query(term, locale = nil, joiner = "&")
|
||||
locale = Post.sanitize(locale) if locale
|
||||
all_terms = term.gsub(/[:()&!'"]/,'').split
|
||||
query = Post.sanitize(all_terms.map {|t| "#{PG::Connection.escape_string(t)}:*"}.join(" & "))
|
||||
all_terms = term.gsub(/[*:()&!'"]/,'').squish.split
|
||||
query = Post.sanitize(all_terms.map {|t| "#{PG::Connection.escape_string(t)}:*"}.join(" #{joiner} "))
|
||||
"TO_TSQUERY(#{locale || query_locale}, #{query})"
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue