簡體   English   中英

有多種型號的太陽黑子(在Rails中)

[英]Sunspot with multiple models (in Rails)

我有三個模型( UserTagProduct ),他們互動st User有很多TagsProducts

出於搜索目的,我希望能夠搜索(使用一個搜索欄)用戶名,標簽名稱和產品說明。 我還想搜索產品頁面,但這僅與標簽名稱和產品說明相關。

這是兩個例子:

搜索:“Linus Torvalds”返回三個模型中Linus Torvalds的所有實例,其中任何用戶名實例都放在更高的位置。

搜索:帶有年齡的“Linux”:“20-25”返回所有用戶名稱/描述中包含“Linux”且屬於該年齡范圍的用戶實例,以及包含“Linux”標簽的用戶以及誰擁有屬於該年齡段的產品。 請注意,如果搜索沒有包含年齡,那么它將默認為適合“Linux”部分的所有人而不是任何人。

我的問題是這樣做的最佳方法是什么? 我應該用自己的控制器創建搜索模型嗎? 我應該忽略它並在共享文件夾中包含搜索部分嗎? 還有哪些其他方法?

非常感謝。

如果你正在做任何復雜的條件,我喜歡搜索對象的想法。

但是使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM