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. QA|20221010|SecureCRT|我们5分钟前执行了a指令,但因为执行b指令打印了大量日志,把指令记录冲掉了,以后如何避免这种情况?

    Q:我们5分钟前执行了a指令,但因为执行b指令打印了大量日志,把指令记录冲掉了,以后如何避免这种情况? A:如下配置

  3. 微信小程序2--WXML与WXSS

    编辑WXML文件 我们在开发者工具里打开之前修改的模板小程序home文件夹下的home.wxml,里面有如下代码 <!--pages/home/home.wxml--> <text& ...

  4. 支持JDK19虚拟线程的web框架,之三:观察运行中的虚拟线程

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是<支持JDK19虚拟线程的web ...

  5. 万字长文教你实现华为云IoT+OpenHarmony智能家居开发

    本文分享自华为云社区<华为云IoT+OpenHarmony的智能家居开发>,作者:袁睿. 一.选题说明 1. 选题为基于OpenHarmony的智能家居,应用场景为户用,受益人群为住户. ...

  6. 【目标检测】Fast R-CNN算法实现

    一.前言 2014年,Ross Girshick提出RCNN,成为目标检测领域的开山之作.一年后,借鉴空间金字塔池化思想,Ross Girshick推出设计更为巧妙的Fast RCNN(https:/ ...

  7. JUC并发编程(3)—锁中断机制

    目录 1.什么是中断 2.源码解读(中断的相关API) 3.如何使用中断标识停止线程 学习视频:https://www.bilibili.com/video/BV1ar4y1x727 1.什么是中断 ...

  8. Codechef - Maximize Colours(IQ)

    题目大意   有红绿蓝三种颜色,三种颜色当中任意两个颜色混合都可以产生出一个新的颜色(然而混合产生的颜色不能与任何其它的颜色进行混合).输入三个整数,分别代表红色,绿色,蓝色的颜色个数(每次混合各消耗 ...

  9. 7. 用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP及TCP内网穿透原理及运行篇

    用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP及TCP内网穿透原理及运行篇 项目 ++wmproxy++ gite: https://gitee.com/tickbh/wmpr ...

  10. P9140 [THUPC 2023 初赛] 背包

    prologue 这很难评(调了我 1h,我都想紫砂了. 还是典型得不重构就看不见系列. analysis 如果我们还是一个正常人,那么我们大体上是能看到题目的加粗字,这个格式很明显符合我们的同余最短 ...