从问题出发,这篇内容可以解决以下几个问题:

一:如何开启关闭Es索引(数据库)?

二:如何创建索引(数据库)结构?

三:如何向已有索引(数据库)中添加类型(表)结构?

四:如何向已有类型(表)中添加新字段?

五:如何更改现有类型(表)中的字段类型?

六:如何删除索引(数据库)?

七:如何删除索引中某一个类型结构(同时删除数据以及数据结构)?

八:如何删除索引中某一类型结构的全部数据而不删除类型结构?

九:为什么同一索引下不同类型的结构如果字段名称相同会报错?

十:创建索引结构时注意事项以及问题?

一:如何开启关闭Es索引(数据库)?

关闭索引

POST /my_index/_close    

开启索引

POST /my_index/_open 

二:如何创建索引(数据库)结构?

PUT twitter
{
"mappings": {
"tweet": {
"properties": {
"message": {
"type": "text"
}
}
}
}
}

三:如何向已有索引(数据库)中添加类型(表)结构?

PUT twitter/_mapping/user
{
"properties": {
"name": {
"type": " keyword"
}
}
}

四:如何向已有类型(表)中添加新字段?

PUT twitter/_mapping/tweet
{
"properties": {
"user_name": {
"type": " keyword"
}
}
}

五:如何更改现有类型(表)中的字段类型?

  无法更改;

六:如何删除索引(数据库)?

  参考链接:https://www.cnblogs.com/Rawls/p/10110743.html

七:如何删除索引中某一个类型结构(同时删除数据以及数据结构)?

  Elasticsearch不支持删除一个Type;

  参考链接:https://blog.csdn.net/youzhouliu/article/details/79940729

八:如何删除索引中某一类型结构的全部数据而不删除类型结构?

POST /testindex/testtype/_delete_by_query?pretty
{
"query": {
"match_all": {
}
}
}

九:为什么同一索引下不同类型的结构如果字段名称相同会报错?

  这个问题比较坑,什么意思呢?用我们使用关系型数据库的逻辑来说,就是同一个数据库里面,如果有两个不同的表,表里面都有name字段,

  如果A表中name是varchar类型,B表中name是int类型,完了,这就没办法创建索引了。所以,我们在创建索引的时候要注意,为什么会有这样的问题呢?

  难道是Es的bug?这个主要是因为Es使用的是lucene的框架,具体的原因大家可以参考官方文档 避免类型陷阱

十:创建索引结构时注意事项以及问题?

  1:  明确字段存储类型,是int类型还是文本类型;

    ES字段类型参考:https://blog.csdn.net/chengyuqiang/article/details/79048800

  2:  文本类型情况下,一种是keyword,一种是text ;

    二者的区别请参考:https://www.cnblogs.com/Rawls/p/10069670.html

  3:  字段结构类型一旦定义之后,是无法修改的,就跟你在数据库中一样,以前是int类型,

    是无法改成varchar类型的(在sqlserver 表中没有数据情况下可以修改)。

  4:  如果需要修改结构类型,只能在在这个文档类型中新增一个字段了。

  5:  同一个索引下面,字段名称尽量不要重复;

  6:  字段名称如果有重复情况,一定要使用相同的字段类型,要么都是integer,要么都是text。

Elasticsearch 创建以及修改索引结构的更多相关文章

  1. SQL Server索引进阶:第十二级,创建,修改,删除

    在第十级中我们看到了索引的内部结构,在第十一级中我们看到了平衡树结构潜在的负面影响:索引碎片.有了索引内部结构的知识,我们可以检查在执行数据定义语句和数据操作语句的时候,都发生了什么.在本级中我们介绍 ...

  2. SQLServer之修改索引

    使用SSMS数据库管理工具修改索引 使用表设计器修改索引 表设计器可以修改任何类型的索引,修改索引的步骤相同,本示例为修改唯一非聚集索引. 1.连接数据库,选择数据库,选择数据表->右键点击表- ...

  3. SQLServer之创建辅助XML索引

    创建辅助XML索引 使用 CREATE INDEX (Transact-SQL)Transact-SQL DDL 语句可创建辅助 XML 索引并且可指定所需的辅助 XML 索引的类型. 创建辅助 XM ...

  4. SQLServer之创建唯一聚集索引

    创建唯一聚集索引典型实现 唯一索引可通过以下方式实现: PRIMARY KEY 或 UNIQUE 约束 在创建 PRIMARY KEY 约束时,如果不存在该表的聚集索引且未指定唯一非聚集索引,则将自动 ...

  5. SQLServer之创建非聚集索引

    开始之前 典型实现 可以通过下列方法实现非聚集索引: UNIQUE 约束 在创建 UNIQUE 约束时,默认情况下将创建唯一非聚集索引,以便强制 UNIQUE 约束. 如果不存在该表的聚集索引,则可以 ...

  6. Elasticsearch创建索引和映射结构详解

    前言 这篇文章详细介绍了如何创建索引和某个类型的映射. 下文中[address]指代elasticsearch服务器访问地址(http://localhost:9200). 1       创建索引 ...

  7. elasticsearch创建索引

    1.通过elasticsearch-head 创建 (1)登录localhost:9100 (2)点击复合查询 (3)输入内容 (4)勾选易读,点击验证是否是JSON格式 (5)点击提交请求,返回 { ...

  8. Elasticsearch如何修改Mapping结构并实现业务零停机

    Elasticsearch 版本:6.4.0 一.疑问 在项目中后期,如果想调整索引的 Mapping 结构,比如将 ik_smart 修改为 ik_max_word 或者 增加分片数量 等,但 El ...

  9. ElasticSearch 基本概念 and 索引操作 and 文档操作 and 批量操作 and 结构化查询 and 过滤查询

    基本概念 索引: 类似于MySQL的表.索引的结构为全文搜索作准备,不存储原始的数据. 索引可以做分布式.每一个索引有一个或者多个分片 shard.每一个分片可以有多个副本 replica. 文档: ...

随机推荐

  1. Numpy常用概念-对象的副本和视图、向量化、广播机制

    一.引言 在我们操作数组的时候,返回的是新数组还是原数组的链接,我们就需要了解对象副本和视图的区别. 向量化和广播是numpy内部实现的基础. 二.对象副本和视图 我们应该注意到,在操作数组的时候返回 ...

  2. grid++报表使用时注意事项

    #开始使用:Grid++Report 可以在 Visual C#.Net 与 Visual Basic.Net 下的 WinForm 项目中使用.在项目中使用 Grid++Report 之前,首先必须 ...

  3. 2019Java查漏补缺(二)

    查看了公众号:java之间的整理的集和文章,文章地址 总结和搜索了一下网络知识,总结了一下: 1.String 的hashcode()方法 2.switch总结: 3.如何实现克隆 1.String ...

  4. (转)聊聊Greenplum的那些事

    开卷有益——作者的话 有时候真的感叹人生岁月匆匆,特别是当一个IT人沉浸于某个技术领域十来年后,蓦然回首,总有说不出的万千感慨. 笔者有幸从04年就开始从事大规模数据计算的相关工作,08年作为Gree ...

  5. c/c++ 多线程 利用条件变量实现线程安全的队列

    多线程 利用条件变量实现线程安全的队列 背景:标准STL库的队列queue是线程不安全的. 利用条件变量(Condition variable)简单实现一个线程安全的队列. 代码: #include ...

  6. c/c++ 网络编程 UDP 设定MTU

    网络编程 UDP 设定MTU MTU(Maximun Transmisson Unit):一次送信的最大size. 在程序里动态改变MTU.注意:程序运行需要root权限. 程序运行的方法: sudo ...

  7. Python基础——7面向对象高级编程

    实例与类动态添加方法 实例添加属性: def Student(object): pass s = Student() s.name = ‘syz’ 实例添加方法 from types import M ...

  8. Linux VMware新添加网络适配器找不到配置文件问题

    VMware centos 新添加网卡没有识别,在做 Linux 实验时经常遇到需要双网卡的情况,VMware 新添加网卡后Linux是不会主动创建 ifcfg-eth* 文件的,重启服务器和重启网络 ...

  9. Enterprise Architect 时序图

    添加时序图 1,在类图下面新建包 添加sequence时序图 点击流程控制,可以打开流程控制设计界面 我选择的是Lifeline线,你可以选择都差不多. 点击其中一条liftline连到其他上面 双击 ...

  10. Taro文件上传:Blob Url下载Blob对象本身并通过接口上传到服务器

    最近项目的文件上传遇到一个问题,就是Taro的chooseImage传给回调的是一个Blob对象,一般来说,上传控件都会导出Data Url,而Taro给了一个Blob Url,问题在于,我直接令im ...