Невозможно применить новый шаблон индекса - PullRequest
0 голосов
/ 10 июля 2020

Я сейчас пытаюсь обновить шаблон индекса на Elasti c 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"
}

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

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

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

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

Я ожидал, что это будет примерно так:

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

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

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

...