elasticsearch-动态映射

来源:互联网 发布:淘宝店铺关注排名 编辑:程序博客网 时间:2024/05/29 02:50

动态映射

当 Elasticsearch 遇到文档中以前 未遇到的字段,它用 dynamic mapping 来确定字段的数据类型并自动把新的字段添加到类型映射。

有时这是想要的行为有时又不希望这样。通常没有人知道以后会有什么新字段加到文档,但是又希望这些字段被自动的索引。也许你只想忽略它们。如果Elasticsearch是作为重要的数据存储,可能就会期望遇到新字段就会抛出异常,这样能及时发现问题。

幸运的是可以用 dynamic 配置来控制这种行为 ,可接受的选项如下:

true

动态添加新的字段—​缺省

false

忽略新的字段

strict

如果遇到新字段抛出异常

配置参数 dynamic 可以用在根 object 或任何 object 类型的字段上。你可以将dynamic 的默认值设置为 strict , 而只在指定的内部对象中开启它, 例如:

PUT /my_index{    "mappings": {        "my_type": {            "dynamic":      "strict", (1)            "properties": {                "title":  { "type": "string"},                "stash":  {                    "type":     "object",                    "dynamic":  true (2)                }            }        }    }}
  1. 如果遇到新字段,对象 my_type 就会抛出异常。

  2. 而内部对象 stash 遇到新字段就会动态创建新字段。

0 0
原创粉丝点击