之前我们已经了解了 ES 中一些比较重要的概念,也搭建好了使用 ES 所需的基础环境,那现在就可以开始使用 ES 了。
使用 ES 其实主要就是操作索引和文档。接下来的问题就是如何去操作了,ES 提供了许多常见语言的支持,但这不是我们目前的重点,我们先看如何用 RESTful API 去操作 ES,我们选择 Kibana 来发送 RESTful 请求,当然你也可以使用其它工具。
操作索引相对简单些,也不会经常去修改索引。接下来我们先学习常用操作索引的 API。
1、创建索引
创建索引时只指定索引名,注意索引名是唯一的,不能包含大写字母
PUT user
通过 Elasticsearch head 工具可以看到创建的索引,以及其详细信息:
绿色方框数字表示索引的分片,点击可以查看分片信息。粗线框表示主分片,细线框表示副本分片。
可以看到索引默认的分片和副本分片数量都是1,同时也没有文档字段的相关约束信息。
创建索引时我们也可以指定一些基本信息,例如分片数量:
PUT user
{
"settings": {
"index": {
# 每个索引的主分片数
"number_of_shards": 2,
# 每个主分片对应的副本分片数
"number_of_replicas": 1
}
}
}
当然你也可以使用 head 工具创建索引:
2、添加文档
有了索引,就可以向文档中添加一条文档数据了,这里使用默认的类型名_doc
,1为文档id,不指定的话 ES 会给一个默认值:
POST /user/_doc/1
{
"name": "马老师",
"age": 30,
"label": [
"不讲武德",
"耗子尾汁"
]
}
在 head 工具中以 JSON 格式查看数据:
关于文档的操作后边会详细介绍,这里仅仅是为了帮助学习索引的内容。
3、查看索引信息
前边使用了 head 工具查看索引信息,也可以使用如下 API:
GET user
在添加了一条文档数据后的索引信息如下:
4、修改索引
如下修改了索引禁止添加文档,允许读文档,即true
表示禁止,false
表示允许:
PUT user/_settings
{
"blocks.write": true,
"blocks.read": false
}
5、关闭、打开索引
# 关闭索引
POST user/_close
# 打开索引
POST user/_open
6、创建索引别名
如下为索引user
创建了一个user_info
别名,如果别名是唯一的,也可以用来代替索引名
POST /_aliases
{
"actions": [
{
"add": {
"index": "user",
"alias": "user_alias"
}
}
]
}
将add
修改为remove
表示移除别名。
7、删除索引
DELETE user
关于索引的操作就先介绍这么多吧,常用的操作也都可以在 head 工具中直接完成。
网友评论