ElasticSearch(二) api的介绍和使用

本文介绍了Elasticsearch的基本操作,包括使用API检查集群健康状况、查看索引、创建及删除索引等,并通过实例展示了商品数据的增删改查过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简单的api使用和集群管理命令

(1)快速检查集群的健康状况

es提供了一套api,叫做cat api,可以查看es中各种各样的数据

查看集群的状态:

GET _cluster/health

GET /_cat/health?v  (更详细展示集群的健康状况)

epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1488006741 15:12:21  elasticsearch yellow          1         1      1   1    0    0        1             0                  -                 50.0%

如何快速了解集群的健康状况?green、yellow、red?

green:每个索引的primary shard和replica shard都是active状态的
yellow:每个索引的primary shard都是active状态的,但是部分replica shard不是active状态,处于不可用的状态
red:不是所有索引的primary shard都是active状态的,部分索引有数据丢失了

在单机状态出现yellow的情况是因为,kibana内置了一个index,而es默认配置是每个index分配5个primary shard和5个replica shard,但是同时要求主分片和副分片不能在同一个节点上,这就意味着当单节点的时候只有一个主分片被分配和启动,副分片并没有被分配和启动,所以会报yellow,当启动第二个节点时,副分片被分配并启动,集群就会变成green状态。

二、查看集群中的索引

GET /_cat/indices?v

health status index   uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   .kibana rUm9n9wMRQCCrRDEhqneBg   1   1          1            0      3.1kb          3.1kb

三、创建索引:

PUT /test_index?pretty

四、删除索引:

DELETE /test_index?pretty

五、以商品为例的CRUD操作

1.增加数据:

格式: put /index/type/id 

{

"json数据"

}

示例:
PUT /ecommerce/product/1
{
  "name":"taifugao chabei",
  "desc":"baowen gaoxiao",
  "price":30,
  "producer":"taifugao jap",
  "tags":"baowen naishuai"
}

PUT /ecommerce/product/2
{
  "name":"baisuishan chabei",
  "desc":"touming jiankang",
  "price":5,
  "producer":"jingtian shenzhen",
  "tags":"easy green"
}

PUT /ecommerce/product/3
{
  "name":"quechao chabei",
  "desc":"tishen bukun",
  "price":99,
  "producer":"quechao faguo",
  "tags":"tishen jiankang"
}

补充:es会自动建立index和type,不需要自己手动创建,同时es会对document的没个fields去建立倒排索引,让它可以被自动搜索

 

2.查询操作:检索文档

格式:  

GET /index/type/id

示例:

  GET /ecommerce/product/1

3.update操作

update有两种操作方式:
  a.直接替换当前文档
  b.更新fields
两种方式的区别是:
第一种是直接替换也就是覆盖操作,之前文档中的数据都会被覆盖掉
第二种只会更新需要update的字段

格式:

a.替换操作:(同增加操作)

PUT /index/type/id

示例:
PUT /ecommerce/product/1
{
  "name":"chayuan chabei",
  "price":88
}

这样操作的后果就是其他字段都没有了,如果只是更改某个字段的话,需要将其他字段都带上

b.update操作

POST /index/type/id/_update
{
"doc":{

  "fieldname":value
  }
}

示例:
POST /ecommerce/product/1/_update
{
  "doc": {
    "name":"chayuan chabei"
  }
}


4.删除操作: 删除文档

格式:

DELETE /index/type/id

示例:
DELETE /ecommerce/product/1

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值