我在 Ruby on Rails 的全文搜索中使用 sunspot_rails gem,
我将布尔字段('show_facet')添加到我的模型产品和 solr 索引
然后我想做下一步:
- 如果 'show_facet' == true 然后在搜索列表和构面列表中显示产品
- 如果 'show_facet' == false 则仅在搜索列表中显示产品
我阅读了所有文档、论坛和 api,但我找不到这个问题的答案 我可以
用太阳黑子做这个吗?
型号代码
可搜索的
字符串:关键字,多个:true
字符串:状态
布尔值:显示
布尔值:show_facet
时间:updated_at
文本:keyword_long,存储:true
文本:jtitle,存储:true
整数:id
整数:company_id
结尾
控制器
定义显示
@product_search = OpenStruct.new(params[:product_search])
@search = search_plain
结尾
私人的
def search_plain
basic_search 做 |搜索|
search.fulltext(@product_search.fulltext) 做
字段 *(%w[jtitle keyword_long])
突出显示:keyword_long
突出显示:jtitle
结尾
结尾
结尾
def basic_search
Product.solr_search 做 |搜索|
产量搜索
search.with(:show, true)
search.order_by(:random)
search.paginate 页面:params[:page],per_page:10
search.with(:keywords).all_of(@product_search.keywords)
search.facet:关键字
结尾
结尾
我需要在 facet(:keywords) 中仅包含 show_facet = true 的产品方面,但在搜索中显示所有产品(show_facet true 或 false)