我在Rails(3.2.13)应用程序中使用Sunspot(2.0.0)for Solr,我正在索引ad_type
列,我想用它来命令我的结果,以便确定广告优先于其他广告。理想情况下,我可以做类似的事情:
order_by :ad_type, Proc.new{|ad_type| ad_type.in?(PRIORITY_AD_TYPES)}, :desc
因此ad_type
数组中PRIORITY_AD_TYPES
所列的商家信息列在ad_type
之前的列表之前。
我可以添加另一个布尔字段,该字段在上面的Proc中以相同的方式计算并按该字段排序,但这需要最初重新索引并且每次更改PRIORITY_AD_TYPES
数组时。是否有更动态的方法来执行此操作类似于上面的非功能代码?