• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Elasticsearch操作

武飞扬头像
modest_zp
帮助1

ES是一个遵循RESTful风格的搜索和数据分析引擎,所以一般情况下,调用Elasticsearch的API都是遵循RESTful风格的。ES常用的操作方式有两种:

  • 通过curl命令发送请求(纯手打)
  • 通过kibana的控制台发送请求(有提示)

使用PUT创建文档和替换文档

创建文档

# 语法
PUT /${索引名}/_doc/${文档的_id}
{
  # json数据
}

# 直接在命令行执行以下命令,复制到kibana控制台会自动识别成它的格式
curl -X PUT 192.168.56.104:9200/dbindex/_doc/1 -H 'Content-Type: application/json' -d '
{
  "name": "clay",
  "age": 18,
  "actiontime": "2022-04-02 10:54",
  "id": 123
}'
  # -X:指定请求动作
  # -H:设置请求头
  # -d:请求携带的数据
学新通
  • dbindex:表示索引名称。
  • _doc:表示文档数据的类型。
  • 1:表示文档数据的 _id。使用PUT动作,必须写_id。

更新文档

  • 当 _id字段存在时,更新文档(会覆盖已有的值)
  • 当 _id字段不存在时,创建文档
# 语法
PUT /${索引名}/_doc/${文档的_id}
{
  # json数据
}

# 示例
PUT /dbindex/_doc/1
{
  "address": "广州"
}                  #  返回值中有:"result" : "updated"

PUT /dbindex/_doc/2
{
  "address": "广州"
}                  # 没有该ID,返回:"result" : "created"

学新通

使用POST创建文档

与使用PUT方法的区别:

  • 使用POST方法时,不需要关注id字段,系统会自动生成。
  • 使用POST方法时,更新文档中不存在的值不会覆盖已有的值。

创建文档

# 语法
POST /${索引名}/_doc
{
  # json数据
}

# 创建
POST /dbindex/_doc
{
  "name": "judy",
  "age": 20
}

# 查询
GET /dbindex/_doc/HvRS6H8B5yKnIj0qLNb7

学新通

更新文档

更新文档中不存在的值不会覆盖已有的值。

# 语法
POST /${索引名}/_doc/${文档的_id}/_update
{
  "doc": {
    # json数据
  }
}

# 示例
POST /dbindex/_doc/HvRS6H8B5yKnIj0qLNb7/_update
{
  "doc": {
    "name": "张三",
    "addr": "sh"
  }
}
学新通

使用POST查询文档

# 语法
POST /${索引名}/_doc/_search

# 查询所有文档
POST /dbindex/_doc/_search    # .hits.hits._source里面返回的就是文档数据存储的信息

使用DELETE删除文档或索引

删除文档

# 语法
DELETE /${索引名}/_doc/${文档的_id}                # 删除文档

# 示例
DELETE /dbindex/_doc/IPRq6H8B5yKnIj0quNY8
DELETE /dbindex

删除索引

# 语法
DELETE /${索引名}                                  # 删除索引

# 示例
DELETE /dbindex


使用GET查询

GET语句不仅可以查询文档信息,还可以查询服务中所有的索引库以及索引库的结构信息。

# 根据_id查看文档详情
GET /${索引名}/_doc/${文档的_id} 

# 查询指定索引库中所有的文档详情
GET /${索引名}/_doc/_search

# 查询当前集群的所有索引
GET /_cat/indices

# 查询当前集群中所有的别名索引信息
GET /_cat/aliases

# 查询当前集群的状态信息
GET /_cat/health

# 查询当前集群中主节点的信息
GET /_cat/master

# 查询当前集群中所有节点的信息
GET /_cat/nodes

# 查询当前集群中索引分片的信息
GET /_cat/shards

# 查询当前集群的健康状态
GET /_cluster/health?pretty

# 查询当前集群的运行状态信息
GET /_cluster/stats?pretty

# 查询当前集群中所有节点的监控信息
GET /_nodes/stats?pretty

# 查询当前集群中所有索引的监控信息
GET /_stats?pretty
学新通

注:以上请求加上v参数可以显示详细信息。

集群的颜色可以表示出集群的健康状态,总共有3种颜色:

  • 绿色:最健康的状态,代表所有的索引,其主分片和副本分片都可用。
  • 黄色:代表所有的索引,主分片可用,但是部分索引的副本分片不可用。
  • 红色:代表集群中有部分索引的主分片不可用。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgehgja
系列文章
更多 icon
同类精品
更多 icon
继续加载