Невозможно применить новый шаблон индекса

В настоящее время я пытаюсь обновить шаблон индекса в Elastic Search 6.7/6.8. Шаблоны хранятся в коде и применяются каждый раз при запуске моего API. Ошибок нет, запрос возвращает 200.

Например, вот шаблон, который я сейчас использую:

{
    "index_patterns": [ "*-ec2-reports" ],
    "version": 11,
    "mappings": {
        "ec2-report": {
            "properties": {
                "account": {
                    "type": "keyword"
                },
                "reportDate": {
                    "type": "date"
                },
                "reportType": {
                    "type": "keyword"
                },
                "instance": {
                    "properties": {
                        "id": {
                            "type": "keyword"
                        },
                        "region": {
                            "type": "keyword"
                        },
                        "state": {
                            "type": "keyword"
                        },
                        "purchasing": {
                            "type": "keyword"
                        },
                        "keyPair": {
                            "type": "keyword"
                        },
                        "type": {
                            "type": "keyword"
                        },
                        "platform": {
                            "type": "keyword"
                        },
                        "tags": {
                            "type": "nested",
                            "properties": {
                                "key": {
                                    "type": "keyword"
                                },
                                "value": {
                                    "type": "keyword"
                                }
                            }
                        },
                        "costs": {
                            "type": "object"
                        },
                        "stats": {
                            "type": "object",
                            "properties": {
                                "cpu": {
                                    "type": "object",
                                    "properties": {
                                            "average": {
                                                "type": "double"
                                            },
                                            "peak": {
                                                "type": "double"
                                            }
                                    }
                                },
                                "network": {
                                    "type": "object",
                                    "properties": {
                                            "in": {
                                                "type": "double"
                                            },
                                            "out": {
                                                "type": "double"
                                            }
                                    }
                                },
                                "volumes": {
                                    "type": "nested",
                                    "properties": {
                                        "id": {
                                            "type": "keyword"
                                        },
                                        "read": {
                                            "type": "double"
                                        },
                                        "write": {
                                            "type": "double"
                                        }
                                    }
                                }
                            }
                        },
                        "recommendation": {
                            "type": "object",
                            "properties": {
                                "instancetype": {
                                    "type": "keyword"
                                },
                                "reason": {
                                    "type": "keyword"
                                },
                                "newgeneration": {
                                    "type": "keyword"
                                }
                            }
                        }
                    }
                }
            },
            "_all": {
                "enabled": false
            },
            "numeric_detection": false,
            "date_detection": false
        }
    }
}

Я хотел бы добавить новое поле ключевого слова под объектом properties следующим образом:

"exampleField": {
    "type": "keyword"
}

но похоже шаблон не применяется к существующим индексам.

Когда данные вставляются в определенный индекс, использующий шаблон, они сохраняются следующим образом:

"exampleField": {
    "type": "text",
    "fields": {
        "keyword": {
            "type": "keyword",
            "ignore_above": 256
        }
    }
}
    

потому что шаблон не был обновлен заранее.

Я ожидаю, что это будет так:

"exampleField": {
    "type": "keyword"
}

в индексе и в шаблоне.

Кто-нибудь знает, как получить этот результат? Спасибо, Александр.


person Alexandre Sauner    schedule 10.07.2020    source источник
comment
Обновление в шаблоне индекса не влияет на существующие индексы. Проверьте stackoverflow.com/questions/38238531/   -  person Kiryl Z    schedule 10.07.2020
comment
Это действительно так, спасибо за ответ.   -  person Alexandre Sauner    schedule 17.07.2020