我幾天前在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