FIX: Use same weights for calculating rank and searching for posts.
* Reduce an extra db query as well when searching for posts ordered by relevance.
This commit is contained in:
parent
cc8082138f
commit
54d3648c55
|
@ -836,12 +836,18 @@ class Search
|
|||
posts = posts.order("posts.like_count DESC")
|
||||
end
|
||||
else
|
||||
data_ranking = "TS_RANK_CD(post_search_data.search_data, #{ts_query})"
|
||||
data_ranking = <<~SQL
|
||||
TS_RANK_CD(
|
||||
post_search_data.search_data, #{ts_query(weight_filter: weights)}
|
||||
)
|
||||
SQL
|
||||
|
||||
if opts[:aggregate_search]
|
||||
posts = posts.order("MAX(#{data_ranking}) DESC")
|
||||
else
|
||||
posts = posts.order("#{data_ranking} DESC")
|
||||
end
|
||||
|
||||
posts = posts.order("topics.bumped_at DESC")
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue