首页 > 其他分享 >(六):映射配置(_mapping)

(六):映射配置(_mapping)

时间:2024-01-18 16:55:19浏览次数:19  
标签:index 映射 text 配置 mapping 索引 type

  映射配置与关系数据库中表的DDL类似,在ES中映射时定义文档的过程,定义了文档包含哪些字段,并对文档字段是否保存、是否索引、是否分词等进行设置。

1、查看映射字段

GET /索引名/_mapping

  详情如下:

0

2、创建映射字段

  创建映射字段语法:

PUT /索引库名/_mapping/类型名称
{
  "properties": {
    "字段名": {
      "type": "类型",
      "index": true,
      "store": true,
      "analyzer": "分词器"
    }
  }
}

  类型名称,类似于数据库中的不同表;字段名,类似于表中的列名;properties下可以指定多个字段,每个字段有很多属性。

属性

含义

说明

type

字段类型

text、long、short、date、integer、object、keyword

index

字段是否可被索引

true/false

store

字段是否可被存储

true/false

analyzer

分词器

ik分词器:ik_max_word或者ik_smart

  text与keyword字段类型的区别:

text

keyword

会分词,然后进行索引

不进行分词,直接索引

支持模糊、精确查询

支持模糊、精确查找

分词器默认standard,对于中文而言是按字分词

支持按字数建立索引,以便节约索引空间

支持fields属性,可以在fields中添加keyword子类型,以实现精确检索

text的分词规律

  创建索引字段:

# 创建映射字段
PUT /mapping_index
{
  "mappings": {
    "properties": {
      "name": {"type": "text", "store": false},
      "age": {"type": "integer", "index": true},
      "address": {"type": "text", "analyzer": "standard"}
    }
  }
}
  0

  查看创建的映射字段,映射字段属性的默认值,默认不存储且可被索引。

0

3、新增映射字段

  索引的映射关系创建完成后,添加新的字段映射有两种方式,第一种是删除索引,映射关系调整后再新建索引;第二是在已有的基础上新增。

# 新增一个映射字段
PUT /mapping_index/_mapping
{
  "properties":{
    "stuno":{
      "type":"keyword"
      ,"index":false
    }
  }
}

  新增映射字段。

0

4、更新映射字段

  已经存在的映射字段无法更新,需要创建新的索引来进行数据迁移。迁移语法格式如下:

POST _reindex 
{
   "source":{
       "index":"index_source"
   },
   "dest":{
       "index":"index_target"
   }
}

  老的数据有type的情况,迁移语法格式如下:

POST _reindex
{
   "source":{
       "index":"index_source",
       "type":"account"
   },
   "dest":{
       "index":"index_target"
   }
}

4.1、初始化数据

# 初始化数据
POST /mapping_index/_doc/1?pretty=true
{
  "name": "zs",
  "age": 20,
  "address": "河南",
  "stuno": 20220125
}
POST /mapping_index/_doc/2?pretty=true
{
  "name": "ls",
  "age": 18,
  "address": "杭州",
  "stuno": 20220126
}

  查看数据添加情况:

GET /mapping_index/_search
{
  "query": {"match_all": {}}
}

4.2、创建新的索引

# 创建新的索引
PUT /new_mapping_index
{
  "mappings": {
    "properties": {
      "name": {"type": "text", "store": false},
      "age": {"type": "integer", "index": true},
      "address": {"type": "text", "analyzer": "standard"},
      "stuno":{"type":"keyword","index":false}
    }
  }
}
# 查询 new_mapping_index 的映射
GET /new_mapping_index/_mapping

  详情如下:

0

4.3、迁移数据

  查询迁移前的 new_mapping_index 索引的文档。

# 查询 new_mapping_index 的文档
GET /new_mapping_index/_search
{
  "query": {
    "match_all": {}
  }
}
0

  数据迁移:

# 迁移数据
POST _reindex 
{
   "source":{
       "index":"mapping_index"
   },
   "dest":{
       "index":"new_mapping_index"
   }
}

  

0

  查询迁移后的 new_mapping_index 索引的文档。

0    

标签:index,映射,text,配置,mapping,索引,type
From: https://www.cnblogs.com/RunningSnails/p/17972824

相关文章

  • idea 项目编译内存溢出解决配置
    https://blog.csdn.net/malin970824/article/details/89843478 以下几种方式都可尝试下:1.在idea安装的bin目录修改配置文件 -Xms512m-Xmx2024m-Xss4M-XX:MaxPermSize=2024m 2.修改settings 3.修改tomcat-server-Xms512m-Xmx2024m-Xss4M-XX:PermSize=512M-XX:......
  • springboot配置分页插件pageHelper和数据库方言的几种方式
    方式一:启动类配置分页插件(Application.java)1/**2*pageHelper分页插件3*/4@Bean5publicPageHelperByMyselfpageHelper(){6PageHelperByMyselfpageHelper=newPageHelperByMyself();7Propertiesproperties=newPr......
  • Android 配置https抓包
    在Android中抓包常用fidder或者Charles,http可以直接抓去到请求信息,https抓取不到下面介绍两种抓包方案,可以轻松的获取请求的信息。一、使用用户证书1、application中android:networkSecurityConfig="@xml/network_security_config"android:usesCleartextTraffic="true"2......
  • 度量防火墙配置
    214是cm客户端,在这里可以执行指令,查看是否有zookeeper漏洞,指令如下:cd/opt/cloudera/parcels/CDH/lib/zookeeper/bin./zkCli.sh -server ip:port,在根目录及子目录执行ls/未提示需要认证或getAcl/回显'world,'anyone:cdrwa,则存在该漏洞下图为配置正确后执行ls的截图: ......
  • frp部署配置
    一、简介frp是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。通过在具有公网IP的节点上部署frp服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能......
  • 如何配置让pyenv使用代理(Windows)
    根据官方文档,只需要在系统的环境变量中设置http_proxy和https_proxy.Question:HowdoIconfiguremycompanyproxyinpyenvforwindows?Answer:Setthehttp_proxyorhttps_proxyenvironmentvariablewiththehostnameorIPaddressoftheproxyserverinURLfor......
  • zabbix配置自动发现华为交换机
    zabbix配置自动发现华为交换机一、配置华为交换机,推荐方法1方法1》.本文使用的SNMP版本为v2,华为交换机配置分为以下几步:执行命令system-view,进入系统视图执行命令snmp-agent,开启SNMPAgent服务执行命令snmp-agentsys-infoversionv2c,配置SNMP的协议版本为SNMPv2c执行命......
  • 42 干货系列从零用Rust编写负载均衡及代理,wmproxy中配置tcp转websocket
    wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/......
  • Apache 配置介绍
    Apache配置文件Apache配置文件格式配置文件中,以井号(#)开头表示注释配置文件中的指令分为两种,单一指令和指令块。并且指令不区分大小写查看预定义的主配置文件位置:通过httpd-V或apachectl-V可以查看预定义的主配置文件位置-DHTTPD_ROOT="/usr/local/ap......
  • gradle仓库配置
    allprojects{repositories{defALIYUN_REPOSITORY_URL='https://maven.aliyun.com/repository/public'defALIYUN_JCENTER_URL='https://maven.aliyun.com/repository/public'defALIYUN_GOOGLE_URL='https://ma......