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

一:如何开启关闭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. Python枚举类

    Enum可以把一组相关常量定义在一个class中,且class不可变,而且成员可以直接比较. 定义枚举类: from enum import Enum, unique @unique class We ...

  2. angular应用容器化部署

    angular 应用容器化部署 Intro 我自己有做一个个人主页,虽然效果不怎么样(不懂设计的典型程序猿...),但是记录了我对于前端框架及工具的一些实践, 从开始只有一个 angularjs 制作 ...

  3. 【学习笔记】【Javaweb】二、Session对象过期时间三种设置方法、Session失效监听器

    一.前言 本文:https://www.cnblogs.com/Twobox/p/10361712.html 参考:https://www.cnblogs.com/diewufeixian/p/422 ...

  4. SQL学习笔记---常用命令

    常用命令 变量 1.声明 declare @变量名 类型,… 2.赋值 1.同时赋值多个变量(可以结合查询) select @变量名=表达式1,表达式2 2.单个赋值(推荐) set @变量名=表达式 ...

  5. JS时间的获取及格式

    最近在做一个web聊天室,一个时间的问题挡住了进程,只好全网大搜索,将实用的方法记录下来,以备后查 <script src="/static/bootstrap/js/jquery.m ...

  6. 启动期间的内存管理之初始化过程概述----Linux内存管理(九)

    在内存管理的上下文中, 初始化(initialization)可以有多种含义. 在许多CPU上, 必须显式设置适用于Linux内核的内存模型. 例如在x86_32上需要切换到保护模式, 然后内核才能检 ...

  7. pycharm导入自定义py文件出错

    1. 被导入的py文件不能以数字开头,否则会报错,红色波浪线

  8. 两种动态SQL

    参考:http://www.cnblogs.com/wanyuan8/archive/2011/11/09/2243483.htmlhttp://www.cnblogs.com/xbf321/arch ...

  9. Python语法教程-基础语法01

    目录 1. Python应用 2. 在Linux中写python 3. Python基础语法 1. 注释 2. 变量定义及类型 3. 格式化输出 4. 用户输入 5. 运算符 6.数据转换 7. 判断 ...

  10. web框架开发-快速认识Django中间件

    中间件 中间件的概念 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出. 因为改变的是全局,所以需要谨慎实用,用不 ...