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

栏目: 后端 · 发布时间: 5年前

内容简介:Elasticsearch中索引的名称,必须符合以下要求:索引的创建,需要使用PUT方法,以下是一个最简单的索引创建语句:这将会创建一个完全使用默认配置为为new_index的索引,索引的主分片数和副本数默认都是1个,这通常是不能够满足生产环境真实的业务需求,此时就需要在建立索引之前规划好需要的主分片数和副本数,然后在建立索引时指定这些参数。

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

}

表示索引打开成功。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

An Introduction to the Analysis of Algorithms

An Introduction to the Analysis of Algorithms

Robert Sedgewick、Philippe Flajolet / Addison-Wesley Professional / 1995-12-10 / CAD 67.99

This book is a thorough overview of the primary techniques and models used in the mathematical analysis of algorithms. The first half of the book draws upon classical mathematical material from discre......一起来看看 《An Introduction to the Analysis of Algorithms》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具