多个过滤器不工作elasticsearch rails

时间:2015-04-20 05:44:31

标签: ruby-on-rails elasticsearch

在我的发票模型中,我有3个不同方法定义的3个术语过滤器。查询工作正常,但一次只对查询应用过滤器。 如果我更改过滤器的顺序,则仅应用顶部过滤器,其余两个过滤器将被忽略。

以下是型号代码:

Invoice.search(self.search_options(options, qry))

def self.search_options(options, qry)
  [query(qry),
   status_filter(options[:status]),
   state_filter(options[:invoice_state]),
   office_filter(options[:current_office_id]),
   aggregates
  ].compact.reduce(:merge)
end

def self.status_filter(status)
  {filter: {term: {invoice_status: status}}}
end

def self.state_filter(state)     
  {filter: {term: {state: state}}}
end

def self.office_filter(current_office_id)
  {filter: {term: {office_id: current_office_id}}}
end

我如何一次应用所有3个过滤器?

0 个答案:

没有答案