2011-04-10 5 views
0

우리는 사고 탱크를 사용하고 모델 연관성을 인덱싱하는 데 문제가 있습니다. 예를 들어, 프로파일은 이름을 가진 기관에 속한다 - 우리는 같은 것을 할 싶습니다Thinktank 및 indextank를 사용하여 연관된 모델을 인덱싱하는 방법

class Profile < ActiveRecord::Base 

#model associations 

    define_index do 
    indexes institution(:name), :as => :institution_name 
    end 

end 

하지만이 작동하지 않습니다. 이것은 매우 간단해야합니다 - 내가 뭘 잘못하고 있니?

답변

2

이 문제에 대한 가능한 해결책은 요소를 인덱스로 반환하는 메서드를 추가하는 것입니다. profile.institution.name의 경우 :

# profile.rb 
# ... 
belongs_to :institution 
# ... 
define_index do 
    indexes institution_name 
end 
def institution_name 
    self.institution.name 
end 
# ... 

또한 ", : as => ..."구문은 thinkingtank에서 지원되지 않습니다.

또한 탱커에 시도를주는 것이 좋습니다 : https://github.com/kidpollo/tanker

감사합니다.

애드리안

+0

도움 주셔서 감사합니다. 가상 속성을 사용하면 (think_tank 의사가 데이터베이스 열을 통해서만 검색을 지원하는 thinking_sphinx를 미러링한다고 주장한 이후로 직접 ​​시도하지 않았습니다.) 최고의 충고 (당신이 제안한대로)는 유조선을 사용하는 것입니다. 나는 그걸로 끝났다. API는 더 강력 해 보이고 분명히 명확하며 더 나은 문서를 제공합니다. 확실히 유조선 오히려 thinking_tank를 사용하십시오. –