ElasticSearch 目录结果介绍
类型 | 描述 |
---|---|
bin | 二进制脚本包含启动节点的elasticsearch |
conf | 配置文件包含 elasticsearch.yml |
data | 在节点上申请的每个index/shard的数据文件的位置。 可容纳多个位置 |
logs | 日志文件位置 |
plugins | 插件文件位置。 每个插件将包含在一个子目录中 |
核心概念介绍
- 索引(index)
一个索引可以理解成一个关系型数据库 - 类型(type)
一种type就像一个类表,比如user表,order表
注意:
ES 5.x 中一个index可以有多种type
ES 6.x 中一个index只能有一种type
ES 7.x 以后已经移除type这个概念 - 映射(mapping)
mapping定义了每个字段的类型信息。相当于关系型数据库中的表结构 - 文档(document)
一个document相当于关系型数据库中的一行记录 - 字段
相关于关系型数据库表的字段 - 集群
集群由一个或多个节点组成、一个集群有一个默认名称"elasticsearch" - 节点
集群的节点,一台机器或一个进程 - 分片和副本
- 副本是分片的副本。分片有主分片(primary Shard)和副分片(replica Shard)之分
- 一个Index数据在物理上被分布在多个主分片中,每个主分片只存部分数据
- 每个主分片可以有多个副本。叫副本分片、是主分片的复制
RESTful 风格
介绍:
- RESTful是一种架构的规范与约束、原则,符合这种规范规范的架构就是RESTful架构
- Representational state transfer 表述性状态转移,其实就是对资源的表述性状态转移,即通过HTTP动词来实现资源的状态扭转
- 资源是REST系统的核心概念。所有的设计都是以资源为中心
- elasticsearch 使用 RESTful 风格api 来设计的
方法
action | 描述 |
---|---|
HEAD | 只获取某个资源的头部信息 |
GET | 获取资源 |
POST | 创建或更新资源 |
PUT | 创建或更新资源 |
DELETE | 删除资源 |
索引的介绍和使用
新增索引 PUT
curl -X PUT "localhost:9200/nba"
返回一个json
{
"acknowledged":true,
"shards_acknowledged":true,
"index":"nba"
}
获取索引 GET
curl -X GET "localhost:9200/nba"
返回一个json
{
"nba": {
"aliases": {},
"mappings": {},
"settings": {
"index": {
"creation_date": "1590843304883",
"number_of_shards": "1",
"number_of_replicas": "1",
"uuid": "VyXQyK5sRCSp0vtUYihvGg",
"version": {
"created": "7020099"
},
"provided_name": "nba"
}
}
}
}
删除索引 DELETE
curl -X DELETE "localhost:9200/nba"
返回一个json
{
"acknowledged":true
}
判断索引是否存在 HEAD
curl -I "localhost:9200/nba"
响应返回 200 OK
,为存在
响应返回 404
,不存在
HEAD 请求 localhost:9200/nba
批量获取索引 GET
模拟创建多个索引
curl -X PUT "localhost:9200/nba"
curl -X PUT "localhost:9200/cba"
,
获取多个索引
curl -X GET "localhost:9200/nba,cba"
_all
获取所有索引
curl -X GET "localhost:9200/_all"
返回一个json
{
"cba": {
"aliases": {},
"mappings": {},
"settings": {
"index": {
"creation_date": "1590845013248",
"number_of_shards": "1",
"number_of_replicas": "1",
"uuid": "fbUHEPAETzeckDNcmpSzgQ",
"version": {
"created": "7020099"
},
"provided_name": "cba"
}
}
},
"nba": {
"aliases": {},
"mappings": {},
"settings": {
"index": {
"creation_date": "1590845000657",
"number_of_shards": "1",
"number_of_replicas": "1",
"uuid": "qQMdlISoT7SMTHo_WTSs2A",
"version": {
"created": "7020099"
},
"provided_name": "nba"
}
}
}
}
_cat
命令,获取多个索引
curl -X GET "localhost:9200/_cat/indices"
curl -X GET "localhost:9200/_cat/indices?v"
关闭索引 POST
curl -X POST "localhost:9200/nba/_close"
返回一个json
{
"acknowledged": true,
"shards_acknowledged": true
}
查看索引关闭后的情况
开启索引
curl -X POST "localhost:9200/nba/_open"
返回一个json
{
"acknowledged": true,
"shards_acknowledged": true
}