Поиск рельсов 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)

0 ответов

Другие вопросы по тегам