ruby-on-rails – 具有多种型号的Sunspot(在Rails中)
发布时间:2020-12-16 20:30:10 所属栏目:百科 来源:网络整理
导读:我有三个模型(用户,标签,产品),他们互动s.t.用户有很多标签和产品. 出于搜索目的,我希望能够搜索(带有一个搜索栏)用户名,标签名称和产品描述.我也想搜索产品页面,但这只与标签名称和产品说明相关. 这里有两个例子: 搜索:“Linus Torvalds”返回三个模型中
我有三个模型(用户,标签,产品),他们互动s.t.用户有很多标签和产品.
出于搜索目的,我希望能够搜索(带有一个搜索栏)用户名,标签名称和产品描述.我也想搜索产品页面,但这只与标签名称和产品说明相关. 这里有两个例子: 搜索:“Linus Torvalds”返回三个模型中的所有Linus Torvalds实例,任何用户名的实例被放置得更高. 搜索:“Linux”,年龄:“20-25”返回所有具有名称/描述中包含“Linux”的产品的用户的实例,并且属于该年龄段,以及包含“Linux”和具有属于该年龄范围的产品.请注意,如果搜索没有包含年龄,那么它将默认为适合“Linux”部分的所有人,而不是所有. 我的问题是最好的做法是什么?我应该用自己的控制器创建搜索模型吗?我应该忽略它,并将搜索部分包含在共享文件夹中?还有什么其他方法? 非常感谢. 解决方法
如果您正在做任何复杂的条件,我喜欢Search对象的想法.
但是使用Sunspot搜索对象: @sunspot_search = Sunspot.search User,Tag,Product do |query| query.keywords @search_query query.with(:age).greater_than 20 query.with(:age).less_than 25 query.paginate(:page => params[:page],:per_page => 30) end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容