繁体   English   中英

模型的 class 的 Searchkick 聚合

[英]Searchkick aggregations by a model's class

我的 searchkick 实现跨多个索引进行搜索。 它看起来像这样:

@results = Searchkick.search(
  params[:query],
  index_name: [Actors, Producers, Directors],
  fields: ["name"],
  indices_boost: {Actors => 4, Producers => 8, Directors => 2},
  page: params[:page],
  per_page: cookies[:per_page]
  )

如何实现聚合,以便可以根据 class(演员、制片人、导演)过滤结果?

我可以通过将以下 search_data 添加到我的 model 来解决此问题。

def search_data
 {
   name: name,
   class_name: self.class.name
 }
end

然后将 controller 更新为:

@results = Searchkick.search(
  params[:query],
  index_name: [Actors, Producers, Directors],
  fields: ["name"],
  indices_boost: {Actors => 4, Producers => 8, Directors => 2},
  aggs: {class_name:{}},
  page: params[:page],
  per_page: cookies[:per_page]
  )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM