Elasticsearch入门 - 简单使用

Elasticsearch 入门系列

开篇

在我们了解过 Elasticsearch 的概念,并且在我们的机器上安装过 es 后, 我们就可以简单操作一下。

我们前面提到 ES 是基于一个搜索库开发的,提供了大量 RESTful API 接口,因此我们可以直接使用 curl 命令 或者 postman 这样的客户端去访问这些接口。

集群状况检查

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

GET http://localhost:9200/_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

1580201783 08:56:23  docker-cluster yellow          1         1      3   3    0    0        3             0                  -            50.0%

上面查询出来的信息有很多,我们暂时只关注 status 以及其对应的值: yellow。

如何快速了解集群的健康状况?

status 对应了三个值,分别是 green,yellow,red,他们分别代表了集群的三种健康状态。

  • green

每个索引的primary shard和replica shard都是active状态的

  • yellow

每个索引的primary shard都是active状态的,但是部分replica shard不是active状态,处于不可用的状态

  • red

不是所有索引的 primary shard 都是 active 状态的,部分索引有数据丢失了

索引操作

查看索引

GET http://localhost:9200/_cat/indices?v

创建索引

PUT http://localhost:9200/test_index?pretty

删除索引

DELETE http://localhost:9200/test_index?pretty

商品 document 的增删改查
  1. 新增商品

模版: PUT /index/type/id

请求体:

{
  "json数据"
}

添加一条商品数据 PUT http://localhost:9200/ecommerce/product/1

请求体:

{
    "name" : "黑人牙膏",
    "desc" :  "薄荷味",
    "price" :  30
}

提示:
es 会自动建立 index 和 type,不需要提前创建,而且 es 默认会对 document 每个field都建立倒排索引(后面会介绍),让其可以被搜索

  1. 查询商品

模版: GET /index/type/id

查询指定索引,类型,id 的商品信息 GET http://localhost:9200/ecommerce/product/1

  1. 修改商品 方式一

修改商品信息 PUT http://localhost:9200/ecommerce/product/1

请求体:

{
    "name" : "高露洁牙膏",
    "desc" :  "清洁口气",
    "price" :  30
}

这种方式有一个缺点,必须带上所有的field,才能去进行信息的修改

  1. 修改商品 方式二

修改商品信息 POST http://localhost:9200/ecommerce/product/1/_update

请求体:

{
  "doc": {
    "name": "云南白药牙膏"
  }
}
  1. 删除商品

删除一个商品信息 DELETE http://localhost:9200/ecommerce/product/1

总结

Elasticsearch 提供的检索功能非常复杂,这里介绍的是最基本的使用方法,后面会深入讲解学习。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值