更改elasticsearch映射

时间:2014-01-29 11:33:09

标签: elasticsearch

采用最简单的方法,在elasticsearch

中索引以下文档
{
  "name": "Mark",
  "age": 28
}

使用自动映射,此索引的映射现在看起来像

"properties" : {
   "doc" : {
     "properties" : {
       "age" : { "type" : "long"},
       "name" : { "type" : "string"
    }
  }
},

但是我说我想允许将这份文件编入索引的案例

{
  "name": "Bill",
  "age": "seven"
}

如果我尝试这个,映射不会更新,而elasticsearch会抛出错误,因为与age属性的类型存在冲突。 有没有办法做到这一点,所以两个文档都可以自动编入索引,从而可以查询?

3 个答案:

答案 0 :(得分:2)

每种类型都定义了映射,因此您可以在索引中使用两种类型:

  1. 数字
  2. 字母
  3. 根据年龄字段中的值拆分文档。如果您运行查询,则可以查询这两种类型。

答案 1 :(得分:1)

您可以添加新字段并更新映射。但是你无法更新映射。要做到这一点,你需要删除索引并创建一个新的映射并索引数据..!

有关详细信息,请参阅此链接reference

答案 2 :(得分:1)

您无法更改现有映射。您只能在其中添加新字段。  或者您必须删除旧映射&为该特定索引创建新映射。