Elasticsearch 创建以及修改索引结构
从问题出发,这篇内容可以解决以下几个问题:
一:如何开启关闭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 创建以及修改索引结构的更多相关文章
- SQL Server索引进阶:第十二级,创建,修改,删除
在第十级中我们看到了索引的内部结构,在第十一级中我们看到了平衡树结构潜在的负面影响:索引碎片.有了索引内部结构的知识,我们可以检查在执行数据定义语句和数据操作语句的时候,都发生了什么.在本级中我们介绍 ...
- SQLServer之修改索引
使用SSMS数据库管理工具修改索引 使用表设计器修改索引 表设计器可以修改任何类型的索引,修改索引的步骤相同,本示例为修改唯一非聚集索引. 1.连接数据库,选择数据库,选择数据表->右键点击表- ...
- SQLServer之创建辅助XML索引
创建辅助XML索引 使用 CREATE INDEX (Transact-SQL)Transact-SQL DDL 语句可创建辅助 XML 索引并且可指定所需的辅助 XML 索引的类型. 创建辅助 XM ...
- SQLServer之创建唯一聚集索引
创建唯一聚集索引典型实现 唯一索引可通过以下方式实现: PRIMARY KEY 或 UNIQUE 约束 在创建 PRIMARY KEY 约束时,如果不存在该表的聚集索引且未指定唯一非聚集索引,则将自动 ...
- SQLServer之创建非聚集索引
开始之前 典型实现 可以通过下列方法实现非聚集索引: UNIQUE 约束 在创建 UNIQUE 约束时,默认情况下将创建唯一非聚集索引,以便强制 UNIQUE 约束. 如果不存在该表的聚集索引,则可以 ...
- Elasticsearch创建索引和映射结构详解
前言 这篇文章详细介绍了如何创建索引和某个类型的映射. 下文中[address]指代elasticsearch服务器访问地址(http://localhost:9200). 1 创建索引 ...
- elasticsearch创建索引
1.通过elasticsearch-head 创建 (1)登录localhost:9100 (2)点击复合查询 (3)输入内容 (4)勾选易读,点击验证是否是JSON格式 (5)点击提交请求,返回 { ...
- Elasticsearch如何修改Mapping结构并实现业务零停机
Elasticsearch 版本:6.4.0 一.疑问 在项目中后期,如果想调整索引的 Mapping 结构,比如将 ik_smart 修改为 ik_max_word 或者 增加分片数量 等,但 El ...
- ElasticSearch 基本概念 and 索引操作 and 文档操作 and 批量操作 and 结构化查询 and 过滤查询
基本概念 索引: 类似于MySQL的表.索引的结构为全文搜索作准备,不存储原始的数据. 索引可以做分布式.每一个索引有一个或者多个分片 shard.每一个分片可以有多个副本 replica. 文档: ...
随机推荐
- 【代码笔记】Web-CSS-CSS Padding(填充)
一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- mininet安装过程记录
参考文档: http://www.brianlinkletter.com/set-up-mininet/ https://github.com/mininet/mininet/wiki/FAQ#x11 ...
- C++ 虹软人脸识别 ArcFace 2.0 Demo
环境配置: 开发环境:Win10 + VS 2013 SDK版本:ArcFace v2.0 OpenCV版本:2.4.9 平台配置: x64.x86下Release.Debug SDK 下载地址:戳这 ...
- JMeter接口测试 (二) ~ 参数化
对应qq群号:616961231 上篇内容介绍了jmeter的基本使用, 略微提了如何做参数化, 本篇对参数化做进一步深入讲解, 参数化可以将一个变量使用不同数据, 比如有多个用户下单购买商品,调用 ...
- github、git软件安装、pycharm下使用git配置、git GUI相关
1.GitHub: 官网:直接搜索,排名很靠前,需要注册: 注册完之后,会有指引.新建项目两个选项(看不懂的问YOUDAO等翻译软件啦,大段复制进去就行) 2.Git安装: (https://git- ...
- 20181218 - PostgreSQL Auto Commit Guide(自动提交)
20181218 - PostgreSQL Auto Commit Guide 参考官网简介,https://www.postgresql.org/docs/10/ecpg-sql-set-autoc ...
- c/c++ 继承与多态 子类隐藏父类的同名非虚函数
问题1:若类A里有公有成员方法int fcn(),类B公有继承类A,并类B里有公有成员方法int fcn(int),可以在用户代码里,用类B的对象调用类A的int fcn()吗?? 不可以,编译出错, ...
- Eclipse启动报错,解决办法
打开log日志,发现如下错误.原因是修改了计算机用户名导致 !SESSION Thu Aug 30 08:55:41 CST 2018 -------------------------------- ...
- 设置TextBlock默认样式后,其他控件的Text相关属性设置失效问题
问题: 定义了默认TextBlock样式后,再次自定义下拉框 or 其他控件 ,当内部含有TextBlock时,设置控件的字体相关样式无效,系统始终使用TextBlock设置默认样式 解决方案: 为相 ...
- 日志学习系列(四)——NLog实例
具体不想介绍了,新建一个解决方案 ,直接用NuGet安装就行了 具体项目代码可以在https://github.com/qiuxianhu/SimpleNLog下载