嵌套过滤器的数值范围

时间:2015-07-17 18:23:23

标签: json elasticsearch lucene

我有以下json对象:

{
  "Title": "Terminator,
  "Purchases": [
     {"Country": "US", "Site": "iTunes", "Price": 4.99},
     {"Country": "FR", "Site": "Google", "Price": 5.99}
  ]
}

我希望能够找到指定Country + Site + PriceRange的对象。例如,以上内容应在Country=US&Price<5.00上返回True,但应在Country=FR&Price<5.00上返回False。索引和查询将如何执行此操作?这是另一个答案,这是一个后续问题:Search within array object

1 个答案:

答案 0 :(得分:1)

只需将一个Range查询添加到Bool查询逻辑树中。这将返回与US匹配的国家/地区的文档,并且Price字段的数值小于5。

model.read_attribute('foo')
相关问题