让我说我有这种映射:
"order_details": {
"type": "nested",
"properties": {
"grandtotal_cents": {
"type": "long"
},
"id": {
"type": "long"
},
"order_date": {
"type": "date"
}
}
}
和类似的数据
"order_details": [
{
"id": 731421,
"order_date": "2017-03-30",
"grandtotal_cents": 26800000
}, {
"id": 731422,
"order_date": "2019-01-01",
"grandtotal_cents": 27800000
}
]
和一些类似的数据
"order_details": null
假设我要查询的文档中包含2014年1月1日至2019年1月1日之间的订单明细,并且至少有2个订单/文档中包含订单明细。
到目前为止,我认为这是可行的,但是没有实现
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "order_details",
"query": {
"bool": {
"must": [
{
"range": {
"order_details.order_date": {
"from": "2014-01-01",
"to": "2019-01-01"
}
}
},
{
"bool": {
"filter": {
"script": {
"script": "doc['order_details'].size > 1"
}
}
}
}
]
}
}
}
}
]
}
}
}
那会让我陷入这样的错误
"No field found for [order_details] in mapping with types []"
我正在寻找与此link类似的其他选项,但无济于事。它仍然给我同样的错误
任何帮助表示赞赏。 谢谢。