【发布时间】:2009-06-21 14:00:32
【问题描述】:
在 Rails 项目中,我将 Sphinx 与 Thinking Sphinx 插件一起使用。我索引一个带有属性 :foo 的表,它是一个浮点数。
对 :foo 列进行排序时我希望的行为是 nil 值总是出现在列表的末尾,例如
id; foo (order foo desc)
-------
1; 5
2; 3
3; -4
4: -5
5: nil
6: nil
id; foo (order foo asc)
-------
4: -5
3; -4
2; 3
1; 5
5: nil
6: nil
如果是普通的sql,我会这样排序:
:order => "(foo IS NULL) ASC, foo DESC"
但这似乎不可能,因为我认为 NULL 值被转换为 0(这是真的吗?)。使用 sphinx 排序表达式似乎不能正确排序我的浮点数。
有没有人解决过这个问题或知道如何解决这个问题?
【问题讨论】:
标签: ruby-on-rails sphinx thinking-sphinx