思考Sphinx:双精度字段的索引失败

时间:2011-09-16 21:19:18

标签: ruby-on-rails thinking-sphinx

尝试向包含ruby float的字段添加索引(在Postgres中表示为双精度),重建索引时出现以下错误:

indexing index 'user_core'...
ERROR: index 'user_core': sql_range_query: ERROR:  invalid input syntax for type double precision: ""
LINE 1: ..._name_sort", COALESCE("users"."average_rating", '') AS "av...

我在模型中添加的导致此错误出现的行如下:

indexes :average_rating, :sortable => true, :type => :float

无法找到任何人通过谷歌搜索索引浮动的麻烦。这是一个错误,还是我像往常一样遗漏了一些明显的东西? :)

1 个答案:

答案 0 :(得分:3)

这可能是因为它不是基于字符串的列,请尝试:

has :average_rating, :sortable => true, :type => :float

要阅读有关“has”和“indices”之间差异的更多信息,请阅读以下内容: http://freelancing-god.github.com/ts/en/sphinx_basics.html