Thinking_Sphinx に少し問題があります。具体的には:
次の関係を持つレストラン モデルとレビュー モデルがあります。
Restaurant Has_many Reviews through relationships
Review belongs_to Restaurant through relationships
各レビューには、0.5 刻みで 10 進法から外れた評価があります。
Thinking Sphinx でレストランを検索し、次のようにレビュー評価を属性として設定します (結果が評価値の降順になるようにしています)。
has reviews.rating, :as => :review_rating, :type => :float
これは、ターミナルで Thinking Sphinx のインデックスを作成したときに表示されるエラーです。
indexing index 'restaurant_core'...
ERROR: source 'restaurant_core_0': expected attr type ('uint' or 'timestamp' or 'bigint') in sql_attr_multi, got 'float review_rating from field'.
ERROR: index 'restaurant_core': failed to configure some of the sources, will not index.
興味深い話: :type を :integer に変更すると、次のようになります。
has reviews.rating, :as => :review_rating, :type => :integer
エラーは発生しません。
Ruby on Rails 3.2.11、Thinking Sphinx 3.0.1、Ubuntu 12.10 を実行しています。
どんな助けでも大歓迎です。