rails 太阳黑子可搜索枚举

rails sunspot searchable enum

如何使用 sunspot 搜索 rails 中的枚举?

枚举类型:[:餐厅,:旅游,:酒店]

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

我的控制器:

@search = Product.search do
  fulltext params[:search]
end

仍然没有结果,知道吗?

您可以将可搜索字段定义从整数更改为字符串,并使用with(:field, params[:search_query])

型号:

searchable do
  string :enum_field
end

控制器:

@search = Product.search do
  with(enum_field: params[:search_query])
end

编辑:另外,我刚刚想到您可能需要重命名您的枚举列,因为 ActiveRecord 使用 type 表示单一 Table 继承。