Моя модель проиндексирована с Thinking Sphinx, и я хочу фильтровать результаты поиска с помощью тегов модели, предоставляемых act_as_taggable_on. Я прочитал this previous question, что позволило моим поисковым запросам использовать :conditions => { :tags => 'Comedy' }
в качестве фильтра.Имена тегов Acts_as_taggable_on как атрибуты Thinking Sphinx
Это не комплексное решение, так как по умолчанию весь текст выполняется в индексированных полях Sphinx. Например, когда я ищу Model.search :conditions => { :tags => "Comedy" }
, также появляются результаты с тегом Black Comedy
. Я вижу, что использование атрибутов вместо полей является решением, но я не могу показаться, чтобы получить достоверные результаты при поиске Model.search :with => { :tags => "Comedy" }
и мой define_index
блока выглядит следующим образом:
define_index
indexes title, :sortable => true
has category_tags(:name), :as => :tags
end
Обратите внимание, что я в здание на предыдущий ответ, представленном в вопрос, связанный выше. Ответчик подробно индексирует теги в контексте, поэтому причина метода category_tags.