2011-07-01 2 views
3

Sunspot 및 Rails를 사용하여 정수 목록을 색인화하는 방법이 있습니까?Solr (Sunspot)을 사용하여 정수 목록 색인화

예 나는 배우의 ID를 검색 할 수 있어야합니다.
아래의 코드는 단지 의사 코드입니다.

class Movie < ActiveRecord::Base 
    searchable do 
    integers :actors_lists do 
     actors.map(&:id) 
    end 
    end 
end 

내가하지 배우 이름을 검색 할 수있는 기능을 필요로 할 , 난 그냥 배우 식별자를 검색 할 수 있습니다.

저는 Sunspot 1.2.1과 Ruby 1.9.2에서 Rails 3.1 RC를 사용하고 있습니다.

+0

이미 해결책이있는 것으로 보입니다. 의사 코드는 실제로 필요한 코드입니다 (모델에 actor_lists가 있다고 가정). 작동하지 않는 것에 대한 자세한 내용을 제공 할 수 있습니까? 작성 방법을 모르는 검색 방법입니까? – Calin

답변

3

여기 내 해결책이 있습니다.

integer :actors_lists, multiple: true do 
    actors.map(&:id) 
end 

multiple: true 부분을 추가하면 문제가 해결됩니다.

참고 : Ruby 1.8.7을 사용하는 경우 multiple: true:multiple => true으로 변경해야합니다.

0

영화 has_and_belongs_to_many 경우 : 배우가 다음

integer :actor_ids, multiple => true 

작동합니다. 검색 매개 변수는 다르게 당신이 원하는 것과라는 이름의,하지만 하나는 "협약 설정을 통해"경우이며, 여기 당신은

:references => ::Actor 

그냥 내가 모든 옵션을 언급해야한다고 생각 사용할 수 있습니다.

관련 문제