Сбой порядка в агрегации гистограммы Elasticsearch - PullRequest
0 голосов
/ 11 октября 2018

Мы обновили ElasticSearch с 5.5 до 6.4, у нас есть гистограмма Агрегация, которую мы хотим в определенном порядке. Новая версия, выдающая ошибку для этой ошибки, и запрос ниже

"aggs": {
    "group_by_property": {
        "histogram": {
            "field": "midoffice_master_id",
            "order": {
                "room_types_group>check_availability>min_avg_price.value": "asc"
            },                
            "interval": 1,
            "min_doc_count": 1
        },
        "aggs": {
            "room_types_group": {
                "nested": {
                    "path": "prices_and_availability"
                },
                "aggs": {
                    "check_availability": {
                        "filter": {
                            "bool": {
                                "must": [
                                    {
                                        "terms": {
                                            "prices_and_availability.stock_date": [
                                                "2018-10-10",
                                                "2018-10-11"
                                            ]
                                        }
                                    },
                                    {
                                        "range": {
                                            "prices_and_availability.open_rooms": {
                                                "gte": 1
                                            }
                                        }
                                    },
                                    {
                                        "range": {
                                            "prices_and_availability.default_price": {
                                                "gt": 0
                                            }
                                        }
                                    },
                                    {
                                        "terms": {
                                            "prices_and_availability.room_type_id": [
                                                2,3,4,5,6,7,8,9
                                            ]
                                        }
                                    }
                                ]
                            }
                        },
                        "aggs": {
                            "room_types": {
                                "terms": {
                                    "field": "prices_and_availability.room_type_id",
                                    "min_doc_count": 2,
                                    "order": {
                                        "avg_price": "desc"
                                    }
                                },
                                "aggs": {
                                    "avg_price": {
                                        "sum": {
                                            "field": "prices_and_availability.default_price"
                                        }
                                    }
                                }
                            },
                            "min_avg_price": {
                                "min_bucket": {
                                    "buckets_path": "room_types>avg_price"
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

В 5.5 она работала нормально, новыдавая ошибку в 6.4 после удаления заказа, он работает, но мне нужно, чтобы он был отсортирован по ключу room_types_group.check_availability.min_avg_price.value Как я могу это сделать в 6.4, проверено, не помогает https://www.elastic.co/guide/en/elasticsearch/reference/6.x/search-aggregations-bucket-terms-aggregation.html#search-aggregations-bucket-terms-aggregation-order

Elasticsearch:: Transport :: Transport :: Errors :: InternalServerError: [500] {"error": {"root_cause": [{"type": "aggregation_execution_exception", "reason": "Неверный путь к порядку агрегатора [room_types_group> check_availability> min_avg_price».value]. Неизвестная агрегация [min_avg_price] "}]," type ":" search_phase_execution_exception "," reason ":" сбой всех сегментов "," phase ":" query "," grouped ": true," failed_shards ": [{"shard": 0, "index": "sale_property_production_j", "node": "48YRwwq5TdCbvjRVLBH_rw", "reason": {"type": "aggregation_execution_exception", "reason": "Неправильный порядок агрегаторапуть [room_types_group> check_availability> min_avg_price.value].Неизвестная агрегация [min_avg_price] "}}]}," status ": 500}>

...