我想为我的映射添加一些额外的属性,在这种特殊情况下,我想修改我的英文索引中的标题字段,以便它使用英文分析器。
应该非常简单,除了我有很多类型的标题字段,似乎不可能这样做。
我遇到的错误如下:将update_all_types设置为true以更新所有类型的[search_quote_analyzer]。]
但我无法找到关于如何或在何处设置这个' update_all_types'参数。
这是我在Sense中使用的非常简单的代码:
PUT /my_index/_mapping/my_type
{
"properties": {
"title": {
"type": "string",
"analyzer": "english"
}
}
}
那么,如果在其他类型中使用相同的字段,我怎样才能使这个工作?
这是错误消息:
"type": "illegal_argument_exception",
"reason": "Mapper for [title] conflicts with existing mapping in other types:
[mapper [title] has different [analyzer], mapper [title] is used by
multiple types. Set update_all_types to true to update [search_analyzer]
across all types., mapper [title] is used by multiple types. Set
update_all_types to true to update [search_quote_analyzer] across
all types.]"
所以看来我需要设置' update_all_types:true'在某处,但文档在那方面失败了。
答案 0 :(得分:13)
您可以找到文档here!
update_all_types
是一个get参数,可以这样给出:
PUT my_index/_mapping/type_one?update_all_types
答案 1 :(得分:5)
我有类似的问题,请尝试以下代码更新所有类型:
PUT /my_index/_mapping/my_type?update_all_types
{
"properties": {
"title": {
"type": "string",
"analyzer": "english"
}
}
}