簡體   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