簡體   English   中英

使用Elasticsearch的多個構面過濾器

[英]Multiple facet filters with Elasticsearch

如何將多個濾鏡應用於刻面(帶輪胎寶石)? 我有一個代碼:

facet "packages" do
  terms :package
  facet_filter :terms, producer: [*params[:producer]] if params[:producer].present?
  facet_filter :terms, category_id: [*params[:category_id]] if params[:category_id].present?
end

但它似乎只適用於最后一個過濾器。 但我需要他們兩個。

嘗試這個

my_filter = []
my_filter << {:terms => {:producer => [*params[:producer]] }} if params[:producer].present?
my_filter << {:terms => { :producer => [*params[:category_id]] }} if params[:category_id].present?

facet "packages" do
  terms :package
  facet_filter :and, my_filter
end
my_filter = []
my_filter << {:term => {:producer => params[:producer] }} if params[:producer].present?
my_filter << {:term => {:category_id => params[:category_id] }} if params[:category_id].present?

facet "packages" do
  terms :package
  facet_filter(:and, my_filter) if my_filter.present?
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM