2011-09-16 1 views
0

루비 플로트 (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 

검색을 통해 플로팅 색인 생성에 문제가있는 사용자를 찾을 수 없습니다. 이 버그입니까, 아니면 평소처럼 분명하지 않은 것이 있습니까? :)

답변

3

이것은 아마도,이 시도 :

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

가 "있다"와 "인덱스"의 차이점에 대한 자세한 내용을 읽으려면이 읽기 : http://freelancing-god.github.com/ts/en/sphinx_basics.html

+0

Simon에게 감사드립니다. 방금 내가 바보 인 것을 깨닫고 스스로 고쳤으며 이제는 내 질문을 업데이트하기 위해 여기에 왔습니다. :) – rogerkk

+1

또한 :'sortable => true'에 대한 필요성이 없습니다. - 속성이기 때문에 항상 정렬 가능합니다. – pat