采用最简单的方法,在elasticsearch
中索引以下文档{
"name": "Mark",
"age": 28
}
使用自动映射,此索引的映射现在看起来像
"properties" : {
"doc" : {
"properties" : {
"age" : { "type" : "long"},
"name" : { "type" : "string"
}
}
},
但是我说我想允许将这份文件编入索引的案例
{
"name": "Bill",
"age": "seven"
}
如果我尝试这个,映射不会更新,而elasticsearch会抛出错误,因为与age属性的类型存在冲突。 有没有办法做到这一点,所以两个文档都可以自动编入索引,从而可以查询?
答案 0 :(得分:2)
每种类型都定义了映射,因此您可以在索引中使用两种类型:
根据年龄字段中的值拆分文档。如果您运行查询,则可以查询这两种类型。
答案 1 :(得分:1)
您可以添加新字段并更新映射。但是你无法更新映射。要做到这一点,你需要删除索引并创建一个新的映射并索引数据..!
有关详细信息,请参阅此链接reference
答案 2 :(得分:1)
您无法更改现有映射。您只能在其中添加新字段。 或者您必须删除旧映射&为该特定索引创建新映射。