1. 创建索引

Elasticsearch中索引的名称,必须符合以下要求:

  • 字母只能够是小写字母
  • 不能够包含特殊字符,如\, /, *, ?, ", <, >, |, ` ` , ,, #等
  • 名称不能够以英文的中划线“-”、下划线“_”以及加号“+”开头
  • 名称不可以是“.”或“..”
  • 名称的长度否以超过255个字节
  1. 创建全部使用默认参数的索引

索引的创建,需要使用PUT方法,以下是一个最简单的索引创建语句:

PUT /new_index

{}

这将会创建一个完全使用默认配置为为new_index的索引,索引的主分片数和副本数默认都是1个,这通常是不能够满足生产环境真实的业务需求,此时就需要在建立索引之前规划好需要的主分片数和副本数,然后在建立索引时指定这些参数。

  1. 2 创建指定分片和副本的索引

下面建立一个具有5个主分片及每个主分片有一个副本的示例,如下所示:

PUT /new_index

{

"settings" : {

"number_of_shards" : 5,

"number_of_replicas" : 1

}

}

索引的副本,后面可以根据业务情况,通过API执行动态调整,如下将上面建立的索引的副本数设置为2个:

PUT /new_index/_settings

{

"number_of_replicas" : 2

}

索引的主分片数,后面是不可以通过设置动态调整的,只有通过建立新的索引设置新的主分片数,然后重新建立索引的方式达到增加主分片数的方式。因而在建立索引之前,需要根据该库的业务使用情况,先规划好主分片数,否则后期就只有通过reindex的方式调整主分片数。

  1. 创建带有mapping的索引

Mapping就是用来指定索引中字段使用的类型,如数字、字符还是日期等,还可以控制字段被索引的方式,如是否需要被分析、使用什么样的分析器等。

以下示例索引,包含了三个字段,并通过mapping分别给其指定的不同的字段类型:

PUT /new_index

{

"settings" : {

"number_of_shards" : 2,

"number_of_replicas" : 2

},

"mappings" : {

"properties" : {

"name" : { "type" : "text" },

"age" : { "type" : "short" },

"birth_date" : { "type" : "date" }

}

}

}

2.删除索引

删除索引使用DELETE方法,可以一次删除一个索引,如下:

DELETE /new_index

也可以通过通配符*匹配一次删除多个索引

DELETE /new_index*

不过使用通配符删除,增加了方便性,但同时也增加了危险性,在2.3.1这一章节中,有谈到如何控制是否允许在删除索引的时候使用通配符。

3.获取索引的信息

获取索引的信息使用GET方法,会返回这个索引本身的别名、mapping以及相关设置等信息,如下:

GET /new_index

响应:

{

"new_index" : {

"aliases" : { },

"mappings" : {

"properties" : {

"age" : { "type" : "short" },

"birth_date" : { "type" : "date" },

"name" : { "type" : "text" }

}

},

"settings" : {

"index" : {

"creation_date" : "1556753099705",

"number_of_shards" : "2",

"number_of_replicas" : "3",

"uuid" : "Vh2Ne7srT7-gh_dQaWlF8Q",

"version" : { "created" : "7000099" },

"provided_name" : "new_index"

}

}

}

}

4. 判断索引是否存在

当执行文档索引时,如果目标索引不存在,Elasticsearch会自动创建该索引,通常情况下这是一个好的处理逻辑。但是有时不希望Elasticsearch自动创建不存在的索引,以便于做一些的逻辑上的控制,此时就需要判断被操作的索引是否存在了,判断索引是否存在,需要使用HEAD方法,如下:

HEAD /new_index

响应:

200 - OK

表示索引存在。

如响应:

404 - Not Found

则表示索引不存在。

5. 开/关索引

当需要对索引做一些关键的设置时,如为索引增加自定义分析器,就需要先关闭索引才可以执行。Elasticsearch提供了_open和_close API允许执行对索引的开和关的操作,该操作需要使用POST方法。

5.1 关闭索引

POST /new_index/_close

响应

{

"acknowledged" : true

}

表示索引关闭成功。

5.2 打开索引

POST /new_index/_open

响应

{

"acknowledged" : true,

"shards_acknowledged" : true

}

表示索引打开成功。

转载于:https://www.cnblogs.com/fenglibing/p/11013962.html

Elasticsearch 入门到高手的成长阶梯-索引的基本操作(1)相关推荐

  1. Elasticsearch 入门到高手的成长阶梯-索引的基本操作(2)-索引的收缩和拆分

    一.收缩索引 1.介绍 在大型的集群中,索引的分片也往往比较多,但是随着时间的推移,有一些索引慢慢的就会由"热"变"冷",到最终基本上不再使用:还有一些索引,它 ...

  2. Elasticsearch 入门到高手的成长阶梯-Elasticsearch集成中文分词IK

    ​​​​​​1.IK的介绍 Elasticsearch IK分析器插件是国内非常著名的开源中文分析器插件,它是基于国人所开发的另一款基于Luence 的IK分词器做的扩展,以达到对Elasticsea ...

  3. Python 测试开发从入门到高手成长之路

    > 文末领取测试开发进阶指南和福利! 在" **质量第一,效率为王** "的移动互联网和大数据时代,互联网 IT 技术团队为了应对产品快速迭代要求,就必须具备持续交付的能力. ...

  4. ElasticSearch入门教程-索引

    ElasticSearch入门教程-索引 在本节中,我们将向Elasticsearch添加一些索引,映射和数据.此数据将用于本教程中说明的示例中. 创建索引 PUT http://localhost: ...

  5. Elasticsearch 入门(1):基本概念,安装教程,索引的创建,查询,删除,主键查询,修改,添加,聚合查询,条件查询

    Elasticsearch 入门 基本概念 The Elastic Stack, 包括 Elasticsearch.Kibana.Beats 和 Logstash(也称为 ELK Stack).能够安 ...

  6. ElasticSearch入门系列(三)文档,索引,搜索和聚合

    一.文档 在实际使用中的对象往往拥有复杂的数据结构 Elasticsearch是面向文档的,这意味着他可以存储整个对象或文档,然而他不仅仅是存储,还会索引每个文档的内容使之可以被搜索,在Elastic ...

  7. Elasticsearch入门进阶篇

    文章目录 一:Elasticsearch前言 1.1:什么是搜索? 1.2:如果用数据库做搜索会怎么样? 1.3:什么是全文搜索和Lucene? 1.3.1:全文检索 1.3.2:Lucene 1.4 ...

  8. Elasticsearch入门(二) API

    Elasticsearch入门(二) API VSCode部署 RESTful API 索引库管理 列举索引 创建job_idx索引库 查看索引 删除索引 数据管理 数据插入 数据更新 删除数据 Bu ...

  9. 一个计算机高手的成长历程[转]

    一个计算机高手的成长历程 这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量.最近看到很多学生朋友和我当年一样没有方向,所以把我的经历 ...

最新文章

  1. SAP WM LT42创建TO,报错-No entry in Table 329S (NM1 B)-
  2. 算法------零钱兑换(Java版本)
  3. 压缩包解压后SecureCRT无法连接的解答
  4. Infura Http 客户端 以太坊 交易
  5. 739. 每日温度 golang (list实现)
  6. javascript通用验证
  7. ROS笔记(14) URDF
  8. 【报告分享】人工智能2020:落地挑战与应对.pdf(附下载链接)
  9. openwrt多拨插件_折腾小日记三:爱快PKopenwrt多拨实测
  10. 2022-强烈推荐的7款浏览器插件
  11. 使用Latex排版一篇IEEE Robotics and Automation Letters期刊文章
  12. 如何撰写专利说明书摘要?
  13. matlab 创建同型矩阵_以经典同型样式创建新地图
  14. ​ACL 2022 | 普林斯顿陈丹琦组:模型剪枝的加速方法
  15. 给定一个字符串,去除整个字符串中重复的字符
  16. iPhone 如何设置自定义铃声 (更新至iOS13 and macOS Catalina)
  17. 逍遥模拟器获取服务器信息出错,前沿科技资讯:逍遥安卓模拟器网络不稳定如何办(显示网络异常解决方法)...
  18. Linux ALSA 之六:ALSA ASoc 架构
  19. C语言strlen()函数用法
  20. C语言中如何输出字符的编码,GB2312中汉字字符的编码在C语言中的输出测试

热门文章

  1. 取消语法检测_中考取消了考纲,学生要如何得高分
  2. python根据模板生成pdf文件_程序生成word与PDF文档的方法(python)
  3. oracle执行计划的概念,SQL语句性能调整之ORACLE的执行计划
  4. 不愿意和别人打交道_始终和人保持距离,最不合群的3星座,孤僻却有真本事,能成大事...
  5. adminer.php下载,Adminer.php
  6. 外贸常用术语_外贸中常用的会计术语及付款方式术语 | 会计英语
  7. c语言高斯白序列x,C语言程序设计程设计指导书(晓庄).doc
  8. 怎样用c语言算平均成绩,用C语言编程平均分数
  9. 基于java ssm springboot选课推荐交流平台系统设计和实现
  10. v8声卡怎么录制唱歌_V8声卡坑爹?想买的看完再决定,买了的看如何调试声卡...