【问题标题】:rails 4 sunspot with enum where conditionalrails 4 sunspot 有条件的枚举
【发布时间】:2015-10-06 00:27:52
【问题描述】:

我已将我的模型配置为可被太阳黑子搜索:

enum status: [ :draft, :unreviewed, :reviewed, :publish, :disable, :reject ]

searchable do
    text :name, :boost => 5
    text :description
    integer :status
    time :created_at
end

在控制器中:

@search = Product.search do
  fulltext params[:search]
  with :status, 3
  order_by :created_at, :desc
  paginate :page => params[:page], :per_page => 10
end

这行with :status, 3 曾经是过滤产品,状态为publish,这是我使用rails 枚举设置的。但我没有得到任何结果。

我错过了什么?谢谢

【问题讨论】:

    标签: ruby-on-rails solr enums sunspot


    【解决方案1】:

    您的控制器只需稍作改动

    @search = Product.search do
      fulltext params[:search]
      with(:status).equal_to(3)
      order_by :created_at, :desc
      paginate :page => params[:page], :per_page => 10
    end
    

    耙太阳黑子:重新索引

    重新索引您的数据

    这些是您可以使用的不同类型

    with(:blog_id, 1)
    with(:blog_id).equal_to(1)
    
    with(:average_rating, 3.0..5.0)
    with(:average_rating).between(3.0..5.0)
    
    with(:category_ids, [1, 3, 5])
    with(:category_ids).any_of([1, 3, 5])
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-02
    • 1970-01-01
    相关资源
    最近更新 更多