几天前,我在我的 ruby on rails 2.3.2 上安装了 Sphinx 和 Thinking-Sphinx,基本搜索效果很好。这意味着,没有任何条件。现在,我想用一些条件过滤搜索。
我有 Announcement 模型,索引如下所示:
define_index do
indexes title, :as => :title, :sortable => true
indexes description, :as => :description, :sortable => true
end
也许我错了,但我注意到只有当我将:sortable => true
语法添加到这些属性时,我才能将它们用作搜索条件。否则它什么也找不到。
现在,我也在使用acts_as_taggable_on 插件,它生成了我的两个数据库表:标签和标签。我没有标签模型,我只有acts_as_taggable_on :tags, :categories
Announcements 模型。
我现在想做的是按标签过滤。所以,我尝试添加到我的索引 has tags(:id), :as => :tag_ids
中,indexes tags(:id), :as => :tag_ids
但没有成功。
如何构建索引,以便可以执行以下操作:
Announcement.search 'some word', :conditions => {:tag_ids => some_id}
而且,这是和之间的has
区别indexes
谢谢,布赖恩