【发布时间】:2014-06-30 17:24:09
【问题描述】:
def self.search(params)
return [] unless params[:query].present?
tire.search(load: true) do
query { string(params[:query], fields: %w(title description topics
username discussions)) }
sort do
by "likes", "desc"
by "badges_count", "desc"
end
facet :tags do
terms :tags
end
facet :topics do
terms :topics
end
size params[:size] || 5
end.results
end
我正在尝试对特定型号进行搜索。虽然结果目前是根据最喜欢的排序,我想更多地基于排序块中每一列的百分比。
例如:
50% 的“喜欢”基于另一列中语义匹配的强度(:标题) 基于“badges_count”的“badges_count”为 20%
任何帮助都会很棒,因为我对如何更多地扩展块并创建一个基于重量排序的迷你算法有点困惑。
【问题讨论】:
标签: ruby-on-rails elasticsearch tire