Поиск рельсов Sunspot, запретить создание граней по условию
Я использую гем sunspot_rails в полнотекстовом поиске в Ruby on Rails,
Я добавил логическое поле ('show_facet') в свой модельный продукт и для определения индекса
Тогда я хочу сделать следующее:
- если 'show_facet' == true, тогда показать продукт в списке поиска и списке фасетов
- если 'show_facet' == false тогда показывать товар только в списке поиска
Я прочитал все документы, форумы и API, но я не могу найти ответ на этот вопрос
Могу ли я сделать это с солнечным пятном?
Код модели с возможностью поиска сделать строку: ключевые слова, несколько: true строка: состояние логическое: показать логическое: show_facet время: updated_at текст: keyword_long, сохранено: true текст: jtitle, сохранено: true целое число: id целое число:company_id end Контроллер def show show @product_search = OpenStruct.new(params[:product_search]) @search = search_plain конец private def search_plain basic_search do |search| search.fulltext(@product_search.fulltext) сделать поля *(%w[jtitle keyword_long]) highlight:keyword_long highlight:jtitle конец конец конец конец basic_search Product.solr_search do |search| поиск search search.with(:show, true) search.order_by(:random) search.paginate page: params[:page], per_page: 10 search.with(: ключевые слова).all_of(@product_search.keywords) search.facet: ключевые слова конец конец
Мне нужно включить в фасет (: ключевые слова) только фасеты из продукта с show_facet = true, но показать все продукты в поиске (с show_facet true или false)