gpt4 book ai didi

ruby-on-rails - 使用ElasticSearch和Tire按嵌套元素的数量排序

转载 作者:行者123 更新时间:2023-12-03 00:29:46 26 4
gpt4 key购买 nike

给定以下在称为Post的模型上的映射,是否有可能构建一个查询,以返回在特定时间范围内(例如,过去7天)按投票数排序的帖子?

mapping do
indexes :id, type: 'integer'
indexes :user_id, type: 'integer'
indexes :name, boost: 10
indexes :body # analyzer: 'snowball'
indexes :created_at, type: 'date'
indexes :vote_count, type: 'integer'

indexes :topic_ids

indexes :topics do
indexes :id, type: 'integer'
indexes :name, type: 'string'
end

indexes :votes do
indexes :user_id, type: 'integer'
indexes :created_at, type: 'date'
end
end

我正在使用Tire in Rails 3.2.13。我有一个邮政模型和一个投票模型。帖子具有很多票,而投票属于帖子。

最佳答案

是的,您可以对vote_count属性进行排序,也可以使用custom_score查询进行细粒度的相关性计算。

对于前者,类似:

require 'tire'

s = Tire.search do
query do
filtered do
query { all }
filter :range, 'created_at' => { from: '-7d' }
end
end
sort do
by :vote_count
end
end

puts s.to_curl

关于ruby-on-rails - 使用ElasticSearch和Tire按嵌套元素的数量排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17012432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com