如何创建静态映射,但将其余字段保留为动态?

时间:2019-04-01 22:36:47

标签: elasticsearch

当我将JSON数据导入Elasticsearch时,我拥有的字段之一是价格字段,但是在JSON文档中,它表示为字符串。我想知道是否可以仅对此字段设置静态映射,而其余字段可以动态映射?

2 个答案:

答案 0 :(得分:1)

默认情况下启用动态字段映射。因此,当被索引的文档的映射中不存在字段时,elasticsearch会自动更新映射。映射中已存在的任何字段均按原样使用。因此,您需要为price字段添加属性并创建索引,如下所示:

PUT myindex
{
  "mappings": {
    "_doc": {
      "properties": {
        "price": {
          "type": "float"
        }
      }
    }
  }
}

以上内容确保价格字段始终以浮点值作为索引。文档中的任何其他字段都将用于向映射中动态添加字段。

答案 1 :(得分:0)

您只能为该字段创建映射,并保留所有其他字段。当第一个文档命中时,将为其余字段自动创建elasticsearch映射。