内容简介:Elasticsearch中索引的名称,必须符合以下要求:索引的创建,需要使用PUT方法,以下是一个最简单的索引创建语句:这将会创建一个完全使用默认配置为为new_index的索引,索引的主分片数和副本数默认都是1个,这通常是不能够满足生产环境真实的业务需求,此时就需要在建立索引之前规划好需要的主分片数和副本数,然后在建立索引时指定这些参数。
1. 创建索引
Elasticsearch中索引的名称,必须符合以下要求:
- 字母只能够是小写字母
- 不能够包含特殊字符,如\, /, *, ?, ", <, >, |, ` ` , ,, #等
- 名称不能够以英文的中划线“-”、下划线“_”以及加号“+”开头
- 名称不可以是“.”或“..”
- 名称的长度否以超过255个字节
- 1 创建全部使用默认参数的索引
索引的创建,需要使用PUT方法,以下是一个最简单的索引创建语句:
PUT /new_index
{}
这将会创建一个完全使用默认配置为为new_index的索引,索引的主分片数和副本数默认都是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的方式调整主分片数。
- 3 创建带有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
}
表示索引打开成功。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Elasticsearch 入门到高手的成长阶梯-索引的基本操作(2)-索引的收缩和拆分
- 关于阶梯数问题的复盘
- jmeter(二十)阶梯式加压测试
- Elasticsearch 入门到高手的成长阶梯-Elasticsearch集成中文分词IK
- MongoDB基本操作
- MySQL基本操作
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。