1
我想從價格從較小到較大的價格訂購太陽黑子搜索結果。太陽黑子order_by與nil值排序最後
order_by :price, :asc
但是有一些項目沒有價格價值。他們被放置在結果的前面。有沒有一種很好的方式來顯示這些結果而不是將它們排除在外?
我想從價格從較小到較大的價格訂購太陽黑子搜索結果。太陽黑子order_by與nil值排序最後
order_by :price, :asc
但是有一些項目沒有價格價值。他們被放置在結果的前面。有沒有一種很好的方式來顯示這些結果而不是將它們排除在外?
添加屬性「sortMissingLast =真」的價格字段的定義在schema.xml中
是啊,你應該要補充sortMissingLast =真到了現場schema.xml中,這樣的事情:
<schema name="sunspot" version="1.0">
<types>
...
<!-- My custom types -->
<fieldType name="sml_int" class="solr.SortableIntField" sortMissingLast="true" omitNorms="true"/>
</types>
<fields>
...
<!-- My custom fields -->
<dynamicField name="*_sml_int" type="sml_int" multiValued="false" indexed="true"/>
</fields>
...
</schema>
然後在你的代碼,你可以這樣做:
class MyModel < ActiveRecord::Base
searchable do
integer :price, as: :price_sml_int
end
end