4

我最近添加searchkick了我的网络应用程序,但该研究仅适用于名称字段。这是我的代码:

模型 :

class Campaign
 [...]

   searchkick language: "French"

 [...]

  def self.search_fields(params)
    @query = "*#{params[:search]}*"
    @search = Campaign.search @query, fields: [:name, :categories, :professional, :brief] , misspellings: {distance: 2}
    @search.results
  end

但是,在

@search = Campaign.search @query, fields: [:name, :categories, :professional, :brief] , misspellings: {distance: 2}

该研究仅适用于每个模型的名称。但我想搜索其他字段,如:categories、:professional、:brief、:date 等。

我怎样才能做到这一点 ?

4

1 回答 1

1

您应该定义要在模型中索引的字段

class Campaign
  [...]
  def search_data
    {
      name: name,
      categories: categories,
      professional: professional,
      brief: brief
    }
  end
  [...]
end

请记住在上述更改后重新索引此模型。

参考:https ://github.com/ankane/searchkick#indexing

于 2014-12-14T08:55:12.263 回答