ES常用查询命令


一、基本命令
1、获取所有_cat命令

curl -X GET localhost:9200/_cat

2、获取es集群服务健康状态

curl -X GET localhost:9200/_cat/health?v

epoch: 时间戳的 Unix 时间戳格式,表示快照生成的时间。
timestamp: 可读性更强的时间戳格式,表示快照生成的时间(08:06:34)。
cluster: Elasticsearch 集群的名称,这里是 "es-cluster"。
status: 集群的健康状态,这里是 "yellow"。Elasticsearch 集群状态通常有三种:green(绿色,健康),yellow(黄色,部分健康),red(红色,不健康)。"yellow" 状态表示集群中的某些副本不可用,但主分片是可用的。
node.total: 集群中节点的总数,这里是 1 个节点。
node.data: 充当数据节点的节点数,这里是 1 个节点。
shards: 集群中分片的总数,这里是 98 个分片。
pri: 主分片(primary shard)的数量,这里是 98 个主分片。
relo: 正在进行重新定位的分片数量,这里是 0。
init: 初始化的分片数量,这里是 0。
unassign: 未分配的分片数量,这里是 27。
pending_tasks: 挂起的任务数,这里是 0。
max_task_wait_time: 最大任务等待时间,这里是没有具体数值。
active_shards_percent: 活动分片的百分比,这里是 78.4%。这表示在集群中,有 78.4% 的分片是活动的,而剩下的可能是不可用或者正在恢复的。
3、查看es节点信息

curl -X GET localhost:9200/_cat/nodes?v

ip: 节点的IP地址,这里是"192.168.52.11"。
heap.percent: 节点的堆内存使用百分比,这里是67%。
ram.percent: 节点的系统内存使用百分比,这里是98%。
cpu: 节点的CPU使用率,这里是10%。
load_1m: 1分钟负载平均值,这里是0.69。
load_5m: 5分钟负载平均值,这里是0.36。
load_15m: 15分钟负载平均值,这里是0.50。
node.role: 节点的角色,这里是"*",表示这是一个主节点(master node)。
master: 指示该节点是否是主节点,这里是"*",表示它是主节点。
name: 节点的名称,这里是"node-1"。
4、查看es指定节点信息

curl -X GET localhost:9200/_nodes/node-1?pretty=true

二、索引操作
1、查看ES中所有的索引

curl -X GET localhost:9200/_cat/indices?v

health: 索引的健康状态,这里是 "yellow"。Elasticsearch 索引的健康状态有三种:green(绿色,健康),yellow(黄色,部分健康),red(红色,不健康)。"yellow" 状态表示索引的某些分片处于未分配状态,但主分片是可用的。
status: 索引的状态,这里是 "open"。这表示索引处于打开状态,可以进行读取和写入操作。
index: 索引的名称,这里是 "nginx-access-log-2023.09.13"。
uuid: 索引的唯一标识符。
pri: 主分片(primary shard)的数量,这里是 1 个主分片。
rep: 副本分片(replica shard)的数量,这里也是 1 个副本分片。
docs.count: 索引中文档的总数,这里是 20。
docs.deleted: 索引中已删除的文档数量,这里是 0。
store.size: 索引的存储大小,这里是 34.1KB。
pri.store.size: 主分片的存储大小,这里也是 34.1KB。
2、新建索引

curl -X PUT localhost:9200/testyf

3、新建索引并增加数据 POST /索引/端点

POST /data/_bulk
{ "index": { "_id": 1 }}
{ "articleID" : "XHDK-A-1293-#fJ3", "userID" : 1, "hidden": false, "postDate": "2022-01-01" }
{ "index": { "_id": 2 }}
{ "articleID" : "KDKE-B-9947-#kL5", "userID" : 1, "hidden": false, "postDate": "2022-01-02" }

4、追加数据
# 追加新增字段

POST /data/_bulk
{"update":{"_id":"1"}}
{"doc":{"title":"this is java and elasticsearch blog"}}

5、删除索引

curl -X DELETE localhost:9200/testyf

6、查看指定索引信息

curl -X GET localhost:9200/nginx-access-log-2023.09.13?pretty

7、查看索引的统计信息

curl -X GET localhost:9200/nginx-access-log-2023.09.13/_stats?pretty

三、文档操作
一)查询索引中的全部文档

curl -X GET localhost:9200/nginx-access-log-2023.09.13/_search?pretty

注意:?pertty 表示让数据格式化,更好的展示

 2)根据条件查询索引中的文档
单一条件搜索:
1、搜索 response_code 包含 200

POST /nginx-access-log-2023.09.13/_search?pretty
{"query": {"match": {"response_code": "200"}}
}

2、搜索 message 包含 34 或者 包含 36

POST /nginx-access-log-2023.09.25/_search?pretty
{"query": {"match": {"message": "34 36"}},"size": 1000
}

3、搜索 message 包含 34 并且 包含 36

POST /nginx-access-log-2023.09.25/_search?pretty
{"query": { "match": { "message": {"query": "34 36","operator": "and"}} },"size": 1000
}


4、搜索 message 包含 34 36 15 22 中超过 50% 以上比例的

POST /nginx-access-log-2023.09.25/_search?pretty
{"query": { "match": { "message": {"query": "34 36 15 22","minimum_should_match": "50%"}} },"size": 1000
}


5、使用sort对查询数据排序,并按照size返回查询的数量(desc:降序 / asc:升序)

GET /data/_search?size=2
{"query": {"match": {"title": "java elasticsearch"}},"sort": {"postDate": {"order": "desc"}}
}

多条件搜索:
1、(&&使用 must )搜索 response_code 包含 200,并且 @timestamp 包含 "2023-09-25T12:43:46.000Z"

POST /nginx-access-log-2023.09.25/_search?pretty
{"query": {"bool": {"must": [{"match": {"response_code": "200"}},{"match": {"@timestamp": "2023-09-25T12:43:46.000Z"}}]}},"size": 100
}

2、(|| 使用 should )搜索 response_code 包含 200,或者 @timestamp 包含 "2023-09-25T12:43:46.000Z"

POST /nginx-access-log-2023.09.25/_search?pretty
{"query": {"bool": {"should": [{"match": {"response_code": "200"}},{"match": {"@timestamp": "2023-09-25T12:43:46.000Z"}}]}},"size": 100
}

 3、(|| 使用 should )搜索 response_code 包含 200,或者 @timestamp 包含 "2023-09-25T12:43:46.000Z",或者 message 包含 "Windows",至少满足2个以上

POST /nginx-access-log-2023.09.25/_search?pretty
{"query": {"bool": {"should": [{"match": {"response_code": "200"}},{"match": {"@timestamp": "2023-09-25T12:43:46.000Z"}},{"match": {"message": "Windows"}}],"minimum_should_match": 2}},"size": 100
}

4、搜索 response_code 包含 200,并且 @timestamp 不包含 "2023-09-25T12:43:46.000Z"

POST /nginx-access-log-2023.09.25/_search?pretty
{"query": {"bool": {"must": [{"match": {"response_code": "200"}}],"must_not": [{"match": {"@timestamp": "2023-09-25T12:43:46.000Z"}}]}},"size": 100
}

 5、统计 response_code 包含 200 的有多少个

POST /nginx-access-log-2023.09.25/_count?pretty
{"query": {"bool": {"must": [{"match": {"response_code": "200"}}]}}
}

 3)转换
term:不分词,直接匹配字段的完整值
match:根据字段的分词器对搜索文本进行分词

1、普通match如何转换为term+should
转换前:

GET /data/_search
{"query": {"match": {"title": "java elasticsearch"}}
}

转换后:

GET /data/_search
{"query": {"bool": {"should": [{"term": {"title": "java"}},{"term": {"title": "elasticsearch"}}]}}
}

2、and match如何转换为term+must
转换前:

GET /data/_search
{"query": {"match": {"title": {"query": "java elasticsearch","operator": "and"}}}
}

转换后:

GET /data/_search
{"query": {"bool": {"must": [{"term": {"title": "java"}},{"term": {"title": "elasticsearch"}}]}}
}

3、minimum_should_match如何转换
转换前:

GET /data/_search
{"query": {"match": {"title": {"query": "java elasticsearch hadoop spark","minimum_should_match": "75%"}}}
}

转换后:

GET /data/_search
{"query": {"bool": {"should": [{"term": {"title": "java"}},{"term": {"title": "elasticsearch"}},{"term": {"title": "hadoop"}},{"term": {"title": "spark"}}],"minimum_should_match": 3}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/141253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

105.am40刷机(linux)折腾记1-前期的准备工作1

前段时间在某鱼上逛的时候,发现一款3399的盒子只要150大洋,内心就开始澎拜,一激动就下手了3台,花了450大洋(现在想想,心都碎了一地)。 然后自己又来来回回折腾了几天,目前能跑上fire…

数据跨领域应用实例—车辆通行大数据应用场景(二)

2023年10月25日,国家数据局正式揭牌。标志着我国数据基础制度正在不断完善,数据资源使用水平稳步提升,数据要素市场将进入发展快车道。当前,数字经济已成为我国经济高质量发展的新动能,国家数据局的成立,在…

【Orangepi Zero2 全志H616】驱动串口实现Tik Tok—VUI(语音交互)

一、编程实现语音和开发板通信 wiringpi库源码demo.c 二、基于前面串口的代码修改实现 uartTool.huartTool.cuartTest.c 三、ADB adb控制指令 四、手机接入Linux热拔插相关 a. 把手机接入开发板 b. 安装adb工具,在终端输入adb安装指令: sudo apt-g…

抢疯了!OpenAI开出1000万美元天价年薪 北大AI博士未毕业拿百万offer

图片 抢疯了,抢疯了!OpenAI和谷歌的抢人大战,已经进入白热化。 OpenAI给谷歌员工抛出了终极诱惑——500万到1000万美元的年薪!以及来自微软的用不完的算力! 图片 这不,谷歌复仇神器Gemini模型的关键研究…

【chatglm3】(3):在AutoDL上,使用4090显卡,部署ChatGLM3API服务,并微调AdvertiseGen数据集,完成微调并测试成功!附视频演示。

在AutoDL上,使用4090显卡,部署ChatGLM3API服务,并微调AdvertiseGen数据集,完成微调并测试成功! 其他chatgpt 和chatglm3 资料: https://blog.csdn.net/freewebsys/category_12270092.html 视频地址&#…

戳气球(算法题Java)

戳气球 题目描述 有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。 现在要求你戳破所有的气球。如果你戳破气球 i ,就可以获得 nums[left] * nums[i] * nums[right] 个硬币。 这里的 left 和 …

ssh秘钥登录

1.设置 SSH 通过密钥登录 密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。 将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力…

【入门Flink】- 08Flink时间语义和窗口概念

Flink-Windows 是将无限数据切割成有限的“数据块”进行处理,这就是所谓的“窗口”(Window)。 注意:Flink 中窗口并不是静态准备好的,而是动态创建——当有落在这个窗口区间范围的数据达到时,才创建对应的窗…

【云栖2023】王峰:开源大数据平台3.0技术解读

本文根据2023云栖大会演讲实录整理而成,演讲信息如下: 演讲人:王峰 | 阿里云研究员,阿里云计算平台事业部开源大数据平台负责人 演讲主题:开源大数据平台3.0技术解读 实时化与Serverless是开源大数据3.0时代的必然选…

knn 算法简介与python代码片

学习了一些算法理论整理一下,便于记忆 如有帮助,点赞收藏关注 如需转载请注明出处 https://blog.csdn.net/weixin_42362399?spm1000.2115.3001.5343 KNN(K Near Neighbor): k个最近的邻居,即每个样本都可…

网络的相关概念介绍

客户端和服务器通常运行在不同的主机上,通过计算机网络的硬件和软件资源来通信。网络是个复杂的系统,这里我们从程序员的角度来介绍一下网络相关的概念。 对主机而言,网络只是一种I/O设备,是数据源和数据接收方。 一个插到I/O总线…

C语言--假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只​

一.题目描述 假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只? 二.思路分析 本题是一个典型的穷举法例题,而穷举法,最重要的就是条件判断。⭐⭐ 本题中的条件很容易发现: 假设鸡有x只,兔有y只…

Redis RedisTemplate 的 execute()方法

Redis 批量操作 如果频繁地使用Redis,比如在 for循环中调用 redis,有时可能会报错: Could not get a resource from the pool。 这是因为 Redis的连接数是有限的,打开了Redis的连接,用完记得要关闭,如果连…

calico

calico:默认是ip-ip模式, ipip 开销小 vxlan模式:后期版本才支持 不会创建虚拟交换机 Calico 是一种用于构建和管理容器网络的开源软件定义网络(SDN)解决方案。它专门设计用于在容器和虚拟机之间提供高性能、高可扩展性和灵活的…

Leetcode154. Find Minimum in Rotated Sorted Array II

旋转数组找最小,这次值可以重复 不妨假设你已经做了上一题,题解 上一题的方法1肯定是用不了了,因为不再能完全分成2个不同的部分 所以我们沿着方法2走 如果 > n u m s [ r ] >nums[r] >nums[r],我们依然可以找右半边 …

Clickhouse学习笔记(10)—— 查询优化

单表查询 Prewhere 替代 where prewhere与where相比,在过滤数据的时候会首先读取指定的列数据,来判断数据过滤,等待数据过滤之后再读取 select 声明的列字段来补全其余属性 简单来说就是先过滤再查询,而where过滤是先查询出对应…

Docker快速安装kafka

创建zk docker run -d --name zookeeper-server \-e ALLOW_ANONYMOUS_LOGINyes \bitnami/zookeeper:latest创建kafka docker run -d --name kafka-server \-p 9092:9092 \-e ALLOW_PLAINTEXT_LISTENERyes \-e KAFKA_CFG_ZOOKEEPER_CONNECTzookeeper-server:2181 \-e KAFKA_CF…

Java面试题03

1.Java容器都有哪些 Java提供了丰富的容器类,包括Collection接口的实现类(如List、Set等)和Map接口的实现类(如HashMap、TreeMap等),它们分别用于存储不同类型的元素和键值对。 Java容器主要分为两种类型&a…

matlab 小波自适应阈值去噪

1、内容简介 略 12-可以交流、咨询、答疑 小波自适应阈值去噪 2、内容说明 小波自适应阈值一维信号去噪,也包含软阈值和硬阈值 硬阈值、软阈值、自适应阈值 3、仿真分析 略 4、参考论文 略 链接:https://pan.baidu.com/s/1yQ1yDfk-_Qnq7tGpa23L…

JOSEF约瑟 反时限过流继电器JGL-115板前接线5A速断保护

系列型号 JGL-111反时限过流继电器;JGL-112反时限过流继电器; JGL-113反时限过流继电器;JGL-114反时限过流继电器; JGL-115反时限过流继电器;JGL-116反时限过流继电器; JGL-117反时限过流继电器&#xff1b…