elasticSearch常用API整理

第一次在工作中用 es 是 2016 年,之后在 2018 年工作中再次用到,之后再没用到就没怎么学习使用,最近扒了扒之前的技术笔记又看到 es ,再次复习记录一下。

1. 你好,Es

2.1_测试es_创建一个有包含 2 个字段的索引文档

2.2_测试es_查询索引文档【只用将post换成get】

如上,返回结果中的 found 说明找到了该文档,_source 即我们 POST 进去的原始文档。

2.3_测试es_更新_完全替换

2.4_测试es_更新_部分替换

部分更新,只需指定要更新的字段和该字段的值即可。但要注意入参的json格式最外层的 key 是 doc 。

不管是完全更新还是部分更新,更新之后,文档中的 _version 和 _seq_no 都会自增:

2.5_测试es_再创建一个有包含 2 个字段的索引文档

2.6_测试es_搜索查询(通过名字查询)

我们想通过名称来进行搜索,可以使用 _search 接口,然后指定条件 q 来传递查询关键字。

上面返回结果中,第 10 行的 hits 就是我们搜索返回的结果,total 是搜索命中的结果总数,而 16 行的 hits 是本次返回的部分搜索结果,是一个数组结构,里面是具体的索引文档。

2.7_测试es_搜索查询(通过年龄查询)

2.8_测试es_搜索查询(限定字段只通过年龄查询)

2.9_测试es_搜索查询(使用QueryDSL查询)

2.10_测试es_搜索查询(聚合查询)

下图的入参中,最外层的 size 为 0 这样可以不返回搜索命中的文档,只返回聚合的统计结果,aggs 就是我们描述聚合查询语句根节点,我们使用 terms 聚合类型来对 age 字段的值进行统计,并且只返回前 10 个统计值,然后这些统计结果我们命名为 age_stats

如上图所示,可以看到返回结果的 JSON 里面包含了表示聚合结果的 aggregations 节点(18行),下面有我们的统计结果 age_stats(19行),下面 buckets 表示聚合的具体值 key 和统计数据 doc_count,也就是各个年龄分别有多少个文档,出现了多少次。

2.11_测试es_查看索引列表

2.11_测试es_查看索引列表

返回的结果不是 JSON,而是精简的表格类型,第一行是字段名,后面行是具体的数据,可以看到索引的列表、各索引状态、文档数和索引大小等参数,各字段分别说明如下:

字段名说明
health 索引健康状态,green 表示健康;yellow 表示数据完整,但是缺少副本;red 则表示有数据损坏。
status 索引工作状态,open 表示索引打开中,可以被使用;close 表示索引被关闭,不能使用。
index 索引名称。
uuid 索引的唯一 ID 标识。
pri 索引的主分片个数。
rep 索引的副本分片个数。
docs.count 索引内的文档个数。
docs.deleted 索引内已经删除的文档个数。

2.12_测试es_集群监控

本文参照API :https://elastic-search-in-action.medcl.com/2.basic/elasticsearch_quick_start/

码先生
Author: 码先生

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注