我目前使用 postgres 文本搜索功能来搜索具有特定成分的食谱,例如
Recipe.includes("ingredients").where("ingredients.name @@ :query", :query => query)
但我想做的是能够搜索多个成分查询名称,根据情况匹配全部或任意。
即给定这两个食谱及其成分
三明治 => 培根、奶酪、番茄 意大利面 => 培根、橄榄
使用这些自定义方法 id 喜欢定义
Recipe.search_by_any("培根番茄") => 三明治和意大利面 Recipe.search_by_all("培根番茄") => 三明治
您如何在相关记录列上使用 pg textsearch 来实现这一点?