1

如果有多个具有验证级别的索引模型,需要按其验证级别进行排序。

但我也有几个没有验证级别的模型。

ThinkingSphinx.search @search.q, :order => 'class_crc ASC, @relevance DESC, verification_level DESC', :page => page, :limit => limit, :classes => @search.types_as_models

问题是我可以在具有该属性的模型上按verification_level 排名,但在没有verification_level 的模型上会出错

index ground_core,ground_delta,user_core,user_delta: sort-by attribute 'verification_level' not found

示例播放器 define_index 和 verify_level

    define_index do
      indexes [first_name, last_name], :as => :name, :sortable => true    
      where "state = 1"
      has created_at, updated_at, verification_level
      set_property :delta => ThinkingSphinx::Deltas::ResqueDelta
    end

示例用户定义索引没有验证级别

    define_index do
      indexes [first_name, last_name], :as => :name, :sortable => true    
      has created_at, updated_at
      set_property :delta => ThinkingSphinx::Deltas::ResqueDelta
    end

有没有办法在模型上进行排序而在不在模型上时忽略?

4

1 回答 1

2

我的解决方案是通过在 define_index 块中添加不需要的模型来伪造验证级别

has '0', :as => :verification_level, :type => :integer

于 2012-07-31T21:49:38.330 回答