https://www.elastic.co/guide/en/elasticsearch/reference/6.8/mapping.html

7.x版本后默认都是_doc类型

增加Mapping映射

先说一个特殊的字段_all

https://www.elastic.co/guide/en/elasticsearch/reference/6.8/mapping-all-field.html#mapping-all-field

  • _all 字段是一个特殊的包罗万象的字段,它将所有其他字段的值组合为一个字符串,并使用空格作为分隔符,然后对它进行分析和索引

    但_all字段不存储再数据库中。这意味着它可以被搜索,但不能被检索。

  • _all 字段允许您在文档中搜索值,而无需知道哪个字段包含该值。这使得它在开始使用新数据集时成为一个有用的选项

  • _all字段是一个text类型的字段,所以text类型有啥参数,它也能用!

  • _all字段会消耗一定的CPU运转和使用更多的磁盘空间,所以默认情况下,该字段是关闭的!

但是在6.0+版本后,请使用copy_to代替:

https://www.elastic.co/guide/en/elasticsearch/reference/6.8/copy-to.html#copy-to

**方法一:**
PUT /库名/_mappings/类型名
PUT /articles/_mappings/article
{
// 6.0后没有_all字段
/*"_all": {
"enabled": true,
"analyzer": "ik_max_word"
},*/
"properties": {
"all_info": {
"type": "text",
"analyzer": "ik_max_word",
},
"title": {
"type": "text", //字段的类型
"analyzer": "ik_max_word", // 指定分词器
//"include_in_all": true, # 因为没有_all字段,所以要这个参数也被移除了,因为完全没必要,copy_to是你自己控制的。
"copy_to": "all_info" // 代替_all,就是将这个字段的内容复制到指定字段中
"boost": 2 // 表示相关性分数乘以2倍
},
"content": {
"type": "text",
"analyzer": "ik_max_word",
},
"article_id": {
"type": "long",
},
"user_id": {
"type": "long",
},
"status": {
"type": "integer",
},
"create_time": {
"type": "date",
}
}
} **方法二:** PUT /库名
PUT http://127.0.0.1:9200/articles/
{
"mappings": {
"_doc": {
"properties": {
"article_id": {
"type": "long"
},
"user_id": {
"type": "long"
},
"title": {
"type": "text"
}
}
}
}
}

获取Mapping

获取某个索引库下的所有Mapping

*GET http://127.0.0.1:9200/<索引库名>/_mappings*

例:
GET http://127.0.0.1:9200/news/_mappings

获取索引库中指定类型名的Mapping

*GET http://127.0.0.1:9200/<索引库名>/_mapping/<类型名>*

例:
GET http://127.0.0.1:9200/news/_mapping/article

修改、增加Mapping中的字段

Mapping不能修改字段。只能允许增加。

增加:

直接用上面添加Mapping映射的方法来增加字段就可以了,语法是一样的。

修改:

es不支持,如果真要修改字段的属性,只能先添加新的Mapping,然后将旧的数据导出来再导入给新的Mapping。

  1. 添加新的索引库和Mapping映射

  2. 将源库中的数据导入到新的索引库中。(_reindex)

    https://www.elastic.co/guide/en/elasticsearch/reference/6.8/docs-reindex.html

curl -X POST 127.0.0.1:9200/_reindex -H 'Content-Type:application/json' -d '
{
"source": {
"index": "articles" // 指定源索引库
},
"dest": {
"index": "articles_v2" // 新索引库
}
}
'

ElasticSearch-Mapping类型映射-增删改查的更多相关文章

  1. 第三课作业——set类型、sorted set类型的增删改查,redis的事务

    第三课时作业 静哥 by 2016.2.23~2016.3.6   [作业描述] 1.总结什么是set以及什么是sorted set,并完成对set以及sorted set的增删改查(查需要至少4种方 ...

  2. java操作elasticsearch实现基本的增删改查操作

    一.在进行java操作elasticsearch之前,请确认好集群的名称及对应的ES节点ip和端口 1.查看ES的集群名称 #进入elasticsearch.yml配置文件/opt/elasticse ...

  3. elasticsearch java索引的增删改查

    1.创建索引并插入数据 Map<String, Object> json = new HashMap<String, Object>(); json.put("use ...

  4. Es图形化软件使用之ElasticSearch-head、Kibana,Elasticsearch之-倒排索引操作、映射管理、文档增删改查

    今日内容概要 ElasticSearch之-ElasticSearch-head ElasticSearch之-安装Kibana Elasticsearch之-倒排索引 Elasticsearch之- ...

  5. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  6. Django——6 模型基础ORM 数据库连接配置 模型的创建与映射 数据的增删改查

    Django Django的ORM简介 数据库连接配置 模型的创建与映射 数据库的增删改查 增数据 查数据及补充 改数据 删数据   Django的ORM系统分析 ORM概念:对象关系映射(Objec ...

  7. Mybatis框架基于映射文件和配置文件的方式,实现增删改查,可以打印日志信息

    首先在lib下导入: 与打印日志信息有关的架包 log4j-1.2.16.jar mybatis架包:mybatis-3.1.1.jar 连接数据库的架包:mysql-connector-java-5 ...

  8. MyBatis学习(二)、SQL语句映射文件(2)增删改查、参数、缓存

    二.SQL语句映射文件(2)增删改查.参数.缓存 2.2 select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id=" ...

  9. MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存

    目录(?)[-] 二SQL语句映射文件2增删改查参数缓存 select insert updatedelete sql parameters 基本类型参数 Java实体类型参数 Map参数 多参数的实 ...

  10. Elasticsearch 单模式下API的增删改查操作

    <pre name="code" class="html">Elasticsearch 单模式下API的增删改查操作 http://192.168. ...

随机推荐

  1. API对接需求如何做需求调研,需要注意什么?

    随着互联网的发展,越来越多的企业开始将自己的业务系统通过API接口与其他系统进行对接,以便于数据的共享.协同操作等.在进行API对接之前,需要对用户需求进行深入的调研,以便于能够准确的设计出满足用户需 ...

  2. 算术逻辑单元的实现(ALU)

    一.实验目的 掌握Vivado集成开发环境 掌握Verilog语言基本知识. 掌握并理解算术逻辑单元ALU的原理和设计 二.实验预习 1.ALU(算术逻辑单元)的16种运算的编码 三.模块接口设计 A ...

  3. 为何每个开发者都在谈论Go?

    本文深入探讨了Go语言的多个关键方面,从其简洁的语法.强大的并发支持到出色的性能优势,进一步解析了Go在云原生领域的显著应用和广泛的跨平台支持.文章结构严谨,逐一分析了Go语言在现代软件开发中所占据的 ...

  4. QA|如何实现一个函数读取1-9按钮?|网页计算器自动化测试实战

    如何实现一个函数读取1-9按钮? 如何实现一个根据我们Json存的数字,自动选取对应按钮点击,并且点击对应算法? 首先我们肯定不能给每个元素都写一个函数吧,毕竟挺多,而且如果这样写了,那加减乘除都要分 ...

  5. Hadoop环境安装与配置

    1.基础操作系统环境安装(略) 2.JDK的安装与配置 当前各大数据软件如Hadoop等,仍然停留在Java 8上,在本实验选用的是Java 8.在自己的Linux系统中,jdk可以使用如下命令进行一 ...

  6. 其它——MyCat实现分库分表

    文章目录 MyCat实现分库分表 一 开源数据库中间件-MyCat 二 MyCat简介 三 MyCat下载及安装 3.1 MySQL安装与启动 3.2使用docker启动多个数据库 3.3 MyCat ...

  7. GPT-4 API waitlist

    Skip to main content Site Navigation GPT-4 API waitlist We're making GPT-4 available as an API for d ...

  8. QT Recursive repaint detected 检测到递归重绘

    1.打印绘图时的线程号,如果与主线程号不一致,则需要使用信号传递数据,在主线程窗体中绘图 如下: qDebug() << "当前线程:" <<QThread ...

  9. Qt5 学习积累

    目录 1.cout/cin 2.随机数 3.QSting. string.QChar,.char等的转换 4.退出 5.Qt::tr() 6.QFrame::shape,shadow 7.QCombo ...

  10. 25. 干货系列从零用Rust编写正反向代理,序列化之serde是如何工作的

    wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,内网穿透,后续将实现websocket代理等,会将实现 ...