我有来自两个文档源的数据,一个具有购买状态,另一个没有购买状态。为了识别购买状态,我使用了一个名为purchase的嵌套对象,它具有purchase.location和purchase.purchased_on。因此,我能够识别第二种情况下的项目是购买的。
我正在构建一个过滤器,并希望过滤购买的项目,它应该返回我的数据与文档具有购买状态或应该有purchase.location作为其中一个值和purchase.purchased_on应该大于1。
我构建的Elastic Search查询是
{
"query": {
"bool": {
"should": [
{
"terms": {
"status": [
"purchased"
]
}
},
{
"bool": {
"should": [
{
"terms": {
"purchase.location": [
"flipkart",
"amazon",
"bestbuy"
]
}
},
{
"range": {
"purchase.purchased_on": {
"gte": 1
}
}
}
]
}
}
]
}
}
}
只返回购买状态的数据,不返回其他状态的数据。
1条答案
按热度按时间yx2lnoni1#
使用嵌套查询,
结果就是