tweaked search a little (don't put a double wildcard on diaspora_id) -- this is a quick fix; solr pending
This commit is contained in:
parent
1fa01a811e
commit
961272d1bd
1 changed files with 7 additions and 2 deletions
|
|
@ -89,14 +89,19 @@ class Person < ActiveRecord::Base
|
||||||
people.diaspora_handle #{like_operator} ?
|
people.diaspora_handle #{like_operator} ?
|
||||||
SQL
|
SQL
|
||||||
|
|
||||||
q_tokens = query.to_s.strip.gsub(/(\s|$|^)/) { "%#{$1}" }
|
q_tokens = []
|
||||||
[where_clause, [q_tokens, q_tokens]]
|
q_tokens[0] = query.to_s.strip.gsub(/(\s|$|^)/) { "%#{$1}" }
|
||||||
|
q_tokens[1] = q_tokens[0].gsub(/\s/,'').gsub('%','')
|
||||||
|
q_tokens[1] << "%"
|
||||||
|
|
||||||
|
[where_clause, q_tokens]
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.search(query, user)
|
def self.search(query, user)
|
||||||
return self.where("1 = 0") if query.to_s.blank? || query.to_s.length < 2
|
return self.where("1 = 0") if query.to_s.blank? || query.to_s.length < 2
|
||||||
|
|
||||||
sql, tokens = self.search_query_string(query)
|
sql, tokens = self.search_query_string(query)
|
||||||
|
pp sql,tokens
|
||||||
|
|
||||||
Person.searchable.where(sql, *tokens).joins(
|
Person.searchable.where(sql, *tokens).joins(
|
||||||
"LEFT OUTER JOIN contacts ON contacts.user_id = #{user.id} AND contacts.person_id = people.id"
|
"LEFT OUTER JOIN contacts ON contacts.user_id = #{user.id} AND contacts.person_id = people.id"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue