我几天前在rails 2.3.2上安装了Sphinx和Thinking-Sphinx,基本搜索功能非常棒。这意味着,没有任何条件。现在,我想用一些条件过滤搜索。狮身人面像 - 何时在字段中使用'has'和'indexes'
我有公告模型和指标如下所示:
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
。
我现在想要做的是按标签过滤。所以,我试图加入我的索引has tags(:id), :as => :tag_ids
没有运气,也indexes tags(:id), :as => :tag_ids
但它也没有工作。
如何建立索引,所以我可以做这样的事情:
Announcement.search 'some word', :conditions => {:tag_ids => some_id}
并且还,这是不同的感谢has
和indexes
之间
, 布赖恩
非常感谢!我会试试看。 – 2010-01-17 18:43:12
我不知道为什么,但它不工作。正如我之前所说,我没有Tag模型,我只是使用acts_as_taggable_on插件。这个问题是否有可能导致问题? – 2010-01-17 18:52:15
我的意思是,在公告表格中没有字段“标签”。该插件生成两个表格:标签和标签。所以,公告和标签之间的关系是通过标签表。这与这有什么关系? – 2010-01-17 19:11:47