使用增量索引时,认为Sphinx无法排序

| 我不确定这里是谁的错,但是我们的用户表中有一列称为last_logged_in_at,我们将其用于排序。这是在使用Think Sphinx且启用了增量索引的Rails 2.3项目中。 当记录的增量设置为true时,即使按last_logged_in_at进行的排序应将其置于顶部,也将其推到底部。 我尝试使用last_logged_in_at作为日期时间,时间戳甚至是整数,并且行为始终相同。 有什么想法吗? 查询如下所示:
{:populate=>true,
 :match_mode=>:boolean,
 :order=>\"last_logged_in_at DESC, updated_at DESC\",
 :per_page=>20,
 :with_all=>{:role_id=>17, 
             :state=>\"activated\",
             :mandator_id=>9,
             :profile_active=>true},
 :page=>nil}
    
已邀请:
对不起,一生的疯狂忙碌,因此回复缓慢。 您正在过滤字符串-Sphinx当前不允许使用。但是,有一些解决方法。 另外:您正在使用
:with_all
,但是
:with
在您的情况下的行为完全相同。当您要在单个属性上匹配多个值时,1很有用。例如,此查询将匹配文章具有任何给定标签ID的结果:
Article.search :with => {:tag_ids => [1, 2, 3]}
但是,下一个查询将匹配具有所有给定标签ID的文章:
Article.search :with_all => {:tag_ids => [1, 2, 3]}
我意识到这些要点都与您的问题没有直接关系-但是,最好先使查询有效,然后再仔细检查行为是否正确。     

要回复问题请先登录注册