mapping——参数——dynamic

dynamic 属性

  解释了如何检测新字段并将其添加到映射中的详细信息。

Elasticsearch默认是可以直接新增数据时,自动生成mapping映射,就是因为默认设置dynamic属性为true。

动态设置控制是否可以动态添加新字段。它接受三种设置:

  true  新检测到的字段被添加到映射中。(默认)


  false  新检测到的字段将被忽略这些字段将不会被索引,因此无法搜索,但仍会出现在返回的点击的_source字段中。这些字段不会添加到映射中,必须显式添加新字段。

  strict 如果检测到新字段,将引发异常并拒绝文档必须将新字段显式添加

 

dynamic参数 配置的位置:mapping级别设置,或 在内部对象上设置

 

PUT bb
{
  "mappings": {
    "_doc":{
      "properties":{
        "name":{
          "type":"text",
          "dynamic":false
        },
        "add":{
          "type":"text"
        }
      }
    }
  }
}

放到字段中,报错  Mapping definition for [name] has unsupported parameters:  [dynamic : false]

 

 1 PUT bb
 2 {
 3   "mappings": {
 4     "_doc":{
 5       "dynamic":false,
 6       "properties":{
 7         "name":{
 8           "type":"text"
 9         },
10         "add":{
11           "type":"text"
12         }
13       }
14     }
15   }
16 }
17 
18 GET bb/_mapping
19 
20 {
21   "bb": {
22     "mappings": {
23       "_doc": {
24         "dynamic": "false",
25         "properties": {
26           "add": {
27             "type": "text"
28           },
29           "name": {
30             "type": "text"
31           }
32         }
33       }
34     }
35   }
36 }
#插入一条记录,新增了一个新的字段  插入成功!
PUT bb/_doc/1 { "name":"aa", "add":"北京", "id":1 } #查询新增数据 GET bb/_search { "took": 1, "timed_out": false, "_shards": { "total": 5, "successful": 5, "skipped": 0, "failed": 0 }, "hits": { "total": 1, "max_score": 1, "hits": [ { "_index": "bb", "_type": "_doc", "_id": "1", "_score": 1, "_source": { "name": "aa", "add": "北京", "id": 1 } } ] } } #可以看到新增的数据包含 id字段的 GET bb/_search { "query": { "match": { "id": 1 } } } #通过筛选 id 字段,进行查询,无法查到数据 { "took": 79, "timed_out": false, "_shards": { "total": 5, "successful": 5, "skipped": 0, "failed": 0 }, "hits": { "total": 0, "max_score": null, "hits": [] } }
 1 GET bb/_mapping
 2 #查询索引的映射,也不包含  新增的id字段
 3 {
 4   "bb": {
 5     "mappings": {
 6       "_doc": {
 7         "dynamic": "false",
 8         "properties": {
 9           "add": {
10             "type": "text"
11           },
12           "name": {
13             "type": "text"
14           }
15         }
16       }
17     }
18   }
19 }

 

 

 


 

posted on 2019-10-12 11:20  浅蓝色星光  阅读(781)  评论(0编辑  收藏  举报