Фильтровать по количеству вложенных документов? - PullRequest
0 голосов
/ 09 апреля 2019

Допустим, у меня есть такой вид сопоставления:

"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

letскажем, я хотел запросить документ, который содержит детали заказа между 2014-01-01 и 2019-01-01 и по крайней мере имеет 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 []"

Я ищу другие варианты, как по этой ссылке , но безрезультатно.это все еще дает мне ту же ошибку

любая помощь приветствуется.спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...