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. 如何将GitLab仓库同步到GitHub和Gitee?

    作者:西瓜程序猿 主页传送门:https://www.cnblogs.com/kimiliucn 前言 在之前写的[Kimi.RocketMQ.NET]开源项目中,代码我是放在自己搭建的GitLab服 ...

  2. 音频格式轻松转 - foobar2000

    一.foobar2000简介 foobar2000 是一款免费的专业级别音频解码播放器,支持的诸多音频格式,可加载附加组件扩展更多支持. 除了解码以外,可轻松实现对音频格式的转换,支持几乎所有主流格式 ...

  3. ArcGIS地图投影与坐标系转换的方法

      本文介绍在ArcMap软件中,对矢量图层或栅格图层进行投影(即将地理坐标系转为投影坐标系)的原理与操作方法.   首先,地理坐标系与投影坐标系最简单的区别就是,地理坐标系用经度.纬度作为空间衡量指 ...

  4. 文心一言 VS 讯飞星火 VS chatgpt (109)-- 算法导论10.1 7题

    七.用go语言,说明如何用两个队列实现一个栈,并分析相关栈操作的运行时间. 文心一言: 在Go语言中,我们可以用两个队列(queue1和queue2)实现一个栈.以下是实现代码: package ma ...

  5. vue 基于原生动画的自动滚动表格

    前言 公司展示大屏需要写滚动表格,通过滚动播放数据,自己随便摸了一个基于动画的自动滚动表格 原理 根据每行的大小和设置的每行滚动时间设置滚动位置,动态添加动画,并把数组第一项移动到最后一项,并订阅该动 ...

  6. Fortran 的简单入门和使用 OpenMPI

    Fortran 与 C-like 语言的区别简单总结 无大括号,使用关键字画出范围: C++: int main() { } Fortran: program test implicit none e ...

  7. 深入解析Go非类型安全指针:技术全解与最佳实践

    本文全面深入地探讨了Go非类型安全指针,特别是在Go语言环境下的应用.从基本概念.使用场景,到潜在风险和挑战,文章提供了一系列具体的代码示例和最佳实践.目的是帮助读者在保证代码安全和效率的同时,更加精 ...

  8. HttpWebResponse获取DOM数据注意之ContentEncoding

    public string GetKaiJ(string type = "ssq") { /*1.通过WebBrowser控件&HttpWebRequest获得网站信息*/ ...

  9. 详述Java内存屏障,透彻理解volatile

    一般来说内存屏障分为两层:编译器屏障和CPU屏障,前者只在编译期生效,目的是防止编译器生成乱序的内存访问指令:后者通过插入或修改特定的CPU指令,在运行时防止内存访问指令乱序执行. 下面简单说一下这两 ...

  10. ant design TreeSelect支持搜索,切换value和title属性

    测试人员测试我form里面一个select的时候,发现只能搜索英文和数字,不能搜中文 后来找到原因,treeNodeFilterProp字段默认是velue,我value里面是id,当然搜不到中文啦 ...