【发布时间】:2018-04-02 11:14:27
【问题描述】:
我正在使用 searchkick 在我的 Rails 应用程序上搜索和订购产品,除了
search("*", order: { price: {order: :desc}}
// or
search("*", order: { price: :desc})
// name
search("*", order: { name: {order: :desc}}
//or
search("*", order: { name: :desc})
以上都返回正确的结果,但顺序不正确
我的价格和名称映射是
"name"=>
{"type"=>"keyword",
"fields"=>{"analyzed"=>{"type"=>"text", "analyzer"=>"searchkick_index"}, "word_start"=>{"type"=>"text", "analyzer"=>"searchkick_word_start_index"}},
"ignore_above"=>30000},
"price"=>{"type"=>"float"}
我该如何解决这个问题,以便获得正确的结果顺序?!即按价格降序?
【问题讨论】:
-
您确定价格存储在订单模型中吗?应该在 LineItem 中进行跟踪。
-
价格以产品型号为准,订单用于排序结果
-
你使用 Spree 吗?
-
是的,我愿意,狂欢 3.1
-
在Spree中,订购商品的价格存储在属于Order的LineItem中:github.com/spree/spree/blob/…
标签: ruby-on-rails elasticsearch spree searchkick