美文网首页Elastic...
在ElasticSearch中什么是mapping,自定义一个索

在ElasticSearch中什么是mapping,自定义一个索

作者: 青山淼淼 | 来源:发表于2021-01-23 08:50 被阅读0次
    1.在ElasticSearch中什么是mapping,mapping是干嘛的?
    • Mapping 类似数据库中的schema的定义,作用如下

      1. 定义索引中的字段的名称

      2. 定义字段的数据类型, 例如字符串,数字,布.....


        字段类型
      3. 字段,倒排索引的相关配置,(Analyzed or Not Analyzed,Analyzer)

    • Mapping会把JSON文档映射成Lucene所需要的扁平格式

    • 一个Mapping属于一个索引的Type

      1. 每个文档都属于一一个Type

      2. 一个 Type有一个Mapping定义

      3. 7.0开始,不需要在Mapping定义中指定type信息

    dynamic属性 true false strict
    文档可被索引 YES YES NO
    字段可索引 YES NO NO
    mapping可更新 YES NO NO
    2.自定义一个索引的mapping
    创建索引.png
    
    PUT xianglin_member
    {
      "mappings": {
        "properties": {
          "first_name":{
            "type":"keyword"
          },
          "last_name":{
            "type":"keyword",
            "index": false
          },
          "age":{
            "type":"keyword",
            "null_value": "NULL"
          }
        },
        "dynamic":true
      }
    }
    
    
    执行结果.png
    • 修改索引的dynamic属性
      修改索引的dynamic属性.png

    执行GET xianglin_member/_mapping可以看到结果、dynamic的值是被改了的

    mapping.png
    • 为已存在的es索引新增字段 u_id
    
    PUT xianglin_member/_mapping
    {
      "properties": {
          "u_id":{
            "type":"integer",
            "index":true
          }
      }
    }
    
    
    update_mapping.png

    相关文章

      网友评论

        本文标题:在ElasticSearch中什么是mapping,自定义一个索

        本文链接:https://www.haomeiwen.com/subject/cfpyzktx.html