带你读《Elastic Stack 实战手册》之25:——3.4.2.10.Dynamic Mapping(2)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《Elastic Stack 实战手册》之25:——3.4.2.10.Dynamic Mapping(2)


《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.10.Dynamic Mapping(1) https://developer.aliyun.com/article/1230520


1、#1 处的配置索引test-dynamic-mapping整体是不自动增加字段的

2、#2 处对于内嵌对象person我们设置它可以自动发现字段

3、#3 处对于内嵌对象company我们设置它发现新字段会报错


# 插入文档
PUT test-dynamic-mapping/_doc/1
{
  "school":"test school", # 1
  "person":{
    "name":"tom",
    "age":"12" # 2
  },
  "company":{
    "company_id":"c001"
  }
}

4、传入文档的根层有个未定义的school字段

5、在 person 对象中增加 age 字段

 

# 再次查看索引mapping
GET test-dynamic-mapping
{
  "test-dynamic-mapping" : {
    "mappings" : {
      "dynamic" : "false",
      "properties" : { # 1
        "company" : {
    447         >   三、产品能力
          "dynamic" : "strict",
          "properties" : {
            "company_id" : {
              "type" : "keyword"
            }
          }
        },
        "person" : {
          "dynamic" : "true",
          "properties" : {
            "name" : {
              "type" : "keyword"
            },
            "age" : { # 2
              "type" : "text",
              "fields" : {
                "keyword" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                }
              }
            }
          }
        }
      }
    }
    ………………
  }
}

6、#1 处由于我们对整个 mapping 设置了dynamic:false,所以school属性没有自动创建

 7、由于内嵌对象persondynamic:true,因此自动增加了sex属性,该属性派生出 2 个字段索引person.age其字段类型是text以及person.age.keyword其字段类型是keyword


# 再次查看索引 mapping
GET test-dynamic-mapping
{
  "test-dynamic-mapping" : {
    "mappings" : {
      "dynamic" : "false",
      "properties" : { # 1
        "company" : {
          "dynamic" : "strict",
          "properties" : {
            "company_id" : {
              "type" : "keyword"
            }
          }
        },
        "person" : {
          "dynamic" : "true",
          "properties" : {
            "name" : {
              "type" : "keyword"
            },
            "age" : { # 2
              "type" : "text",
              "fields" : {
                "keyword" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                }
              }
            }
          }
        }
      }
    }
    ………………
  }
}



《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.10.Dynamic Mapping(3) https://developer.aliyun.com/article/1230517

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
索引
带你读《Elastic Stack 实战手册》之25:——3.4.2.10.Dynamic Mapping(1)
带你读《Elastic Stack 实战手册》之25:——3.4.2.10.Dynamic Mapping(1)
|
JSON 数据格式
带你读《Elastic Stack 实战手册》之25:——3.4.2.10.Dynamic Mapping(5)
带你读《Elastic Stack 实战手册》之25:——3.4.2.10.Dynamic Mapping(5)
|
自然语言处理
带你读《Elastic Stack 实战手册》之25:——3.4.2.10.Dynamic Mapping(4)
带你读《Elastic Stack 实战手册》之25:——3.4.2.10.Dynamic Mapping(4)
|
JSON Java 数据格式
带你读《Elastic Stack 实战手册》之25:——3.4.2.10.Dynamic Mapping(3)
带你读《Elastic Stack 实战手册》之25:——3.4.2.10.Dynamic Mapping(3)
107 0
|
存储 Java 大数据
带你读《Elastic Stack 实战手册》之25:——3.4.2.10.Dynamic Mapping(6)
带你读《Elastic Stack 实战手册》之25:——3.4.2.10.Dynamic Mapping(6)
|
搜索推荐 API 索引
带你读《Elastic Stack 实战手册》之17:—— 3.4.2.2.理解mapping(下)
带你读《Elastic Stack 实战手册》之17:—— 3.4.2.2.理解mapping(下)
103 0
|
数据格式 索引
带你读《Elastic Stack 实战手册》之17:—— 3.4.2.2.理解mapping(中)
带你读《Elastic Stack 实战手册》之17:—— 3.4.2.2.理解mapping(中)
|
存储 JSON 数据库
带你读《Elastic Stack 实战手册》之17:—— 3.4.2.2.理解mapping(上)
带你读《Elastic Stack 实战手册》之17:—— 3.4.2.2.理解mapping(上)
|
索引
带你读《Elastic Stack 实战手册》之32:——3.4.2.17.1.Multi-field(上)
带你读《Elastic Stack 实战手册》之32:——3.4.2.17.1.Multi-field(上)
106 0
|
存储 自然语言处理
带你读《Elastic Stack 实战手册》之32:——3.4.2.17.1.Multi-field(下)
带你读《Elastic Stack 实战手册》之32:——3.4.2.17.1.Multi-field(下)
107 0