Вы меняете тип данных существующего поля, что является критическим изменением, и Elasti c не позволит это сделать . Следуйте примеру, который я создал, чтобы показать вам MergeMappingException
, которое ES выдаст в вашем случае.
Создать сопоставление индекса с длинным полем:
{
"mappings": {
"mytype": {
"properties": {
"fieldOut": {
"type": "long",
"index": "no"
}
}
}
}
}
Индекс do c, содержащий длинные значения
{
"fieldOut" :14897594242
}
{
"fieldOut" :112343434534
}
** Попробуйте изменить fieldOut
на строку, используя put aka update mapping API **
{
"mytype": {
"properties": {
"fieldOut": {
"type": "string", // note changed to string type
"index": "no"
}
}
}
}
Это приведет к исключению ниже:
{"error": "MergeMappingException [Сбой слияния с ошибками {[mapper [fieldOut] другого типа, current_type [long], merged_type [string]]}]", "status": 400 }