2013-10-21 26 views
0

搜索我想編寫這樣的事:關鍵詞有多個方面

keywords ['apple', 'peach'], :fields => [:fruits] 

如果我有其中一個有「蘋果」和其他有「桃花」兩種不同的情況下,我希望他們都來結果返回。

我已經嘗試了上面提到的語法,但是我只能得到第一項('apple')的匹配。

太陽黑子甚至支持這個嗎?我無法找到它,這並不意味着我沒有錯過任何東西。

回答

1

假設您有兩個模型實例,一個是name蘋果,另一個是name等分桃子,第三個是蘋果桃子。如果你想獲得其中任何你應該做類似下面的內容之一:

Product.search do 
    minimum_match 1 
    keywords 'apple peach' # btw, fulltext is an alias to keywords 
end 

現在,您將得到所有三個結果(至少你應該得到的),關鍵部分是minimum_match,沒有太陽黑子將使用其默認設置是僅返回「完整」匹配(找到的所有短語)。

+0

就是這樣!它完美的工作!非常感謝! 我用過這個語法思想 關鍵字('apple peach'){minimum_match} – rastko