我正在尝试对我的搜索进行排序。我正在使用 gem mongoid-elasticsearch
进行搜索。这是我的模型配置:
class ActivityLog
include Mongoid::Document
include Mongoid::Timestamps
include Mongoid::Elasticsearch
elasticsearch!(
{
wrapper: :load,
sort: [
{ created_at: "desc" }
]
}
)
field :type, type: String
end
此配置不会引发任何错误,但它似乎也没有任何效果,因为搜索结果是随机列出的。
我想我正在按照文档实现配置:
Check mongoid-elasticsearch documentation here
Check elasticsearch documentation here
顺便说一句,我的搜索查询是:
ActivityLog.es.search(params[:query], page: params[:page]).results.paginate(per_page: 5, page: params[:page])
最佳答案
您应该删除数组包装器:
elasticsearch!(
{
wrapper: :load,
sort: { created_at: "desc" }
}
)
关于ruby-on-rails - 使用 mongoid-elasticsearch gem 对搜索结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21430601/