使用Ruby Searchkick进行多个搜索术语

时间:2014-02-14 00:24:44

标签: ruby-on-rails ruby elasticsearch searchkick

我已经使用ElasticSearch和SearchKick设置了一切,但是,我无法让它像我想的那样工作。我需要多次搜索。

我的模型Car有两个属性,如“Make”和“Year”。我可以这样做:

Car.search( query: { match: {make: { query: "toyota" } }} )

我如何找到属于Toyoto但属于特定年份的比赛,比如说2012年。

谢谢

2 个答案:

答案 0 :(得分:3)

假设年份是您的Car模型的属性或在您的search_data配置中明确定义,这应该有效:

Car.search "toyota", where: { year: 2012 }

答案 1 :(得分:0)

这将返回make为“toyota”且年份为2012的汽车

Car.search "*", where: { make: 'toyota', year: 2012 }

制作是“丰田”或年是2012年

Car.search "*", where: { or: [[{make: 'toyota'},{year: 2012}]] }