我正在使用 Rails 并思考狮身人面像。我有一个模型产品索引如下(仅显示相关信息)
define_index do
indexes :name, :as => :name, :sortable => true
indexes color, :facet => true
...
indexes price, :as => :range, :facet => true
has created_at, price, root_category_id
...
end
我需要的是获得当前搜索的最高价格的产品。我试过类似的东西
Product.search('', :select => 'MAX(price)')
但它让我一团糟。
>> Product.search_for_ids( :select => 'MAX(price)')
Sphinx Query (3.0ms)
Sphinx Found 732 results
Product Load (0.4ms) SELECT MAX(price) FROM `products` WHERE `products`.`id` IN (388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 401, 402, 403, 404, 405, 406, 407, 408)
=> [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]
我真的不明白它为什么要执行那个奇怪的查询,为什么要在哪里添加它以及为什么要返回一个数组。
问候,佛朗哥。