저는 레일 애플리케이션에서 검색을 강화하기 위해 Thinking Sphinx을 사용하고 있습니다.Rails ActiveRecord 메서드를 스핑크스 검색에 포함합니다.
나는 가이드가 명시 적으로 그 you can't index model methods을 말하고 있지만, 나는 알고 싶다. 구체적으로 말하면 acts_as_taggable_on_steroids
을 통해 has_many_through
관계를 통해 태그가 지정된 인스턴스가있는 모델이 있습니다. 중요한주의 사항 : 모델은 awesome_nested_set
을 통해 중첩되며 중첩을 통해 상속되는 태그가 있습니다.
는 여기에 내가 상속 태그를 찾고 있어요 방법은 다음과 같습니다 내가 사용 태그 (상속되지 않음) 명시 적으로 검색 할 수 있어요
def inherited_tags
retval = []
cat = self
while (cat = cat.parent)
retval += cat.tags
end
retval.uniq
end
:
define_index do
indexes title
indexes tags(:name)
end
이 검색이 잘 작동하는 것 같다, 하지만 사용자가 상속 된 태그를 사용하여 검색 할 수 있도록하기 위해 이들을 결합하는 데 문제가 있습니다. 어떤 조언을 많이 주시면 감사하겠습니다!
:
뭔가를 시도? –
스핑크스가 스핑크스와 통합하기위한 레일즈 플러그인이라고 생각하는 스핑크스 질문입니다. –