gpt4 book ai didi

elasticsearch - 更新Elasticsearch中现有字段的映射索引参数

转载 作者:行者123 更新时间:2023-12-03 00:45:17 25 4
gpt4 key购买 nike

我有映射

{
"test" : {
"mappings" : {
"properties" : {
"description" : {
"type" : "text"
},
"location" : {
"type" : "keyword",
"index" : false
},
"title" : {
"type" : "text"
}
}
}
}
}
我想将 index字段的 location参数更新为 true我在尝试
PUT /test/_mapping
{

"properties": {
"location": {
"type": "keyword",
"index": true
}
}

}
而我得到
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Mapper for [location] conflicts with existing mapping:\n[mapper [location] has different [index] values]"}],"type":"illegal_argument_exception","reason":"Mapper for [location] conflicts with existing mapping:\n[mapper [location] has different [index] values]"},"status":400}
如何更新 index参数?

最佳答案

您试图实现的目标称为重大更改或冲突更改,这是不可能的,并且在错误消息中也提到了相同的问题。
index docs考虑一下索引参数的作用以及为什么它的突破性变化

The index option controls whether field values are indexed. It acceptstrue or false and defaults to true. Fields that are not indexed arenot queryable.


较早的索引值为 false,因此您现有的文档没有索引的值且不可查询,现在您更改为 true,这没有意义,因为较早的文档将没有索引值,这就是所谓的中断更改的原因。
您必须使用新索引值创建一个新索引,并且可以使用 reindex API

关于elasticsearch - 更新Elasticsearch中现有字段的映射索引参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63249238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com