[英]Searchkick aggregations by a model's class
My searchkick implementation searches across multiple indexes.我的 searchkick 实现跨多个索引进行搜索。 It looks like this:它看起来像这样:
@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]
)
How can I implement aggregations so I can filter the results based on class (actors, producers, directors)?如何实现聚合,以便可以根据 class(演员、制片人、导演)过滤结果?
I was able to fix this by adding the following search_data to my model.我可以通过将以下 search_data 添加到我的 model 来解决此问题。
def search_data
{
name: name,
class_name: self.class.name
}
end
And then updated the controller with:然后将 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.