按嵌套文档计数过滤?

时间:2019-04-09 16:12:43

标签: elasticsearch

让我说我有这种映射:

"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类似的其他选项,但无济于事。它仍然给我同样的错误

任何帮助表示赞赏。 谢谢。

0 个答案:

没有答案