0
想象一下情況下,你有一份食譜作爲文本的配料列表。如何搜索使用搜索邏輯的短語?
你想知道有多少食譜含有「芝麻油」。
使用Recipe.ingredients_like(「香油」)的默認搜索searchlogic的問題是,用香油和油任何配方會來,當我搜索「香油」,這是一個問題,當配方可含有像「芝麻」 +「玉米油」
想象一下情況下,你有一份食譜作爲文本的配料列表。如何搜索使用搜索邏輯的短語?
你想知道有多少食譜含有「芝麻油」。
使用Recipe.ingredients_like(「香油」)的默認搜索searchlogic的問題是,用香油和油任何配方會來,當我搜索「香油」,這是一個問題,當配方可含有像「芝麻」 +「玉米油」
這將返回包含sesame oil
(由空格分隔的兩個單詞)
Recipe.ingredients_like("sesame oil")
#=> SELECT * FROM `recipes` WHERE (recipes.ingredients LIKE '%sesame oil%')
食譜這將返回包含sesame
或oil
食譜的東西(這些中的任何一個字)
Recipe.ingredients_like_any("sesame", "oil")
#=> SELECT * FROM `recipes` WHERE (recipes.ingredients LIKE '%sesame%' OR recipes.ingredients LIKE '%oil%')
這將返回包含sesame
和oil
(以任意順序兩個單詞)食譜
Recipe.ingredients_like_all("sesame", "oil")
#=> SELECT * FROM `recipes` WHERE (recipes.ingredients LIKE '%sesame%' AND recipes.ingredients LIKE '%oil%')
您可能也有興趣[使用多個單詞attribute_like_any在一個字段搜索] (http://stackoverflow.com/questions/3639818/search-by-attribute-like-any-using-multiple-words-in-one-field-searchlogic):) – 2010-09-07 22:14:21