当前位置: 首页 > backend >正文

ElasticSearch——常用命令

ElasticSearch——常用命令

集群相关

复制代码
–查询集群健康状态
GET _cluster/health

–查询所有节点
GET _cat/nodes

–查询索引及分片的分布
GET _cat/shards

–查询指定索引分片的分布
GET _cat/shards/order_stpprdinf_2019-12?v

–查询所有插件
GET _cat/plugins
复制代码

索引相关查询

复制代码
–查询所有索引及容量
GET _cat/indices

–查询索引映射结构
GET my_index/_mapping

–查询所有索引映射结构
GET _all

–查询所有的相同前缀索引
GET my-*/_search

–查询所有索引模板
GET _template

–查询具体索引模板
GET _template/my_template
复制代码

索引相关操作

1、创建索引模板

复制代码

创建模板

PUT template/test_hot_cold_template
{
“index_patterns”: "test
*",
“settings”: {
“number_of_shards” : 3,
“index.number_of_replicas”: 1
},
“mappings”: {
“order”: {
“dynamic”: false,
“properties”: {
“id”: {“type”: “long”},
“name”: {“type”: “keyword”}
}
}
},
“aliases”: {
“test”: {}
}
}

根据模板创建索引并写入数据

POST test_hot_cold-2019-12-01/order
{
“id”:1,
“name”:“cwx”
}

删除模板

DELETE _template/order_stpprdinf_template
复制代码

2、直接创建索引

复制代码
PUT my_index
{
“mappings”: {
“doc”: {
“properties”: {
“name”: {
“type”: “text”
},
“blob”: {
“type”: “binary”
}
}
}
}
}
复制代码
复制代码
– 增加字段
put my_index/_mapping/doc
{
“properties”: {
“cwxtest”: {“type”: “keyword”}
}
}

– 数据冷备份
PUT _snapshot/my_backup # my_backup 备份的名称
{
“type”: “order”,
“settings”: {
“location”: “/mount/backups/my_backup”
}
}
复制代码
3、写入索引

PUT my_index/doc/1
{
“name”: “Some binary blob”,
“blob”: “U29tZSBiaW5hcnkgYmxvYg==”
}
4、删除索引

DELETE my-index
5、修改索引setting

复制代码
PUT /test_hot_cold-2019-12-01/_settings
{
“settings”: {
“index.routing.allocation.require.hotwarm_type”: “cold”
}
}
复制代码

创建文档

在Kibana创建索引,插入数据,查询数据

复制代码
PUT b-ups-app-test

PUT b-ups-app-test/_doc/1
{
“logTimestamp”: “2022-12-12T14:32:43+08”,
“logLevel”: “ERROR”,
“logContent”: “com.zat.umpg.exception.BusinessException: 交易不存在交易不存在交易不存在交易不存在交易不存在”
}

get b-ups-app-test/_doc/1
复制代码
也可以自动生成
_id
值:
复制代码
POST /products/_doc
{
“id”:“10027”,
“title”:“vivo X9前置双摄全网通4G美颜自拍超薄智能手机大屏vivox9”,
“category”:“手机会场”,
“price”:“2798.00”,
“city”:“广东东莞”,
“barcode”:“541396973568”
}
复制代码

查看文档

GET /products/_doc/10037
查看指定文档title字段的分词结果:

GET /products/_doc/10037/_termvectors?fields=title
修改文档

底层索引数据无法修改,修改数据实际上是先删除再重新添加。两种修改方式:

PUT:对文档进行完整的替换
POST:可以修改一部分字段
复制代码

修改文档 - 替换

PUT /products/_doc/10037
{
“id”:“10037”,
“title”:“SONOS PLAY:1无线智能音响系统 美国原创WiFi连接 家庭桌面音箱”,
“category”:“潮酷数码会场”,
“price”:“9999.99”,
“city”:“上海”,
“barcode”:“527783392239”
}
复制代码
复制代码

修改文档 - 更新部分字段

POST /products/_update/10037
{
“doc”: {
“price”:“8888.88”,
“city”:“深圳”
}
}
复制代码

删除文档

复制代码
#删除索引指定文档
DELETE /products/_doc/10037

#清空索引所有文档
POST /products/_delete_by_query
{
“query”: {
“match_all”: {}
}
}
复制代码

DSL query查询

复制代码
–1.查询所有
GET _search
{
“query”: {
“match_all”: {}
}
}

–2.查询单个索引 的 固定属性
–精确匹配
GET _search
{
“query”: {
“term”: { “name” : “you” }
}
}

–模糊匹配
GET _search
{
“query”: {
“match”: { “name” : “you” }
}
}

–范围查找
GET _search
{
“query”: {
“range”: {
“age”:{ “gte” : 15 , “lte” : 25 }
}
}
}
GET indexName/_search
{
“query”: {
“wildcard”:{“relateId”:“672499460503”}
}
}

–3.功能性查询
–过滤
GET my_index/_search
{
“query”: {
“bool”: {
“filter”: {
“term”:{“age”:1095}
}
}
}
}

–或 or
GET my - test / _search
{
“query”: {
“bool”: {
“should”: [{
“term”: {
“name”: “you”
}
}, {
“match”: {
“age”: 20
}
}]
}
}
}

–与 AND
GET my-test/_search
{
“query”: {
“bool”: {
“must” : [{
“match” : {
“name” : “you”
}
},{
“range”:{
“age”:{
“from” : 10 , “to” : 20
}
}
}]
}
}
}

–必须 =
GET my_index/_search
{
“query”: {
“bool”: {
“must” : {
“range” : {
“age” : { “from” : 10, “to” : 20 }
}
}
}
}
}

–必须不 not
GET my_index/_search
{
“query”: {
“bool”: {
“must_not” : {
“term” : {
“name” : “you”
}
}
}
}
}

–复合查找
GET my_index/_search
{
“query”: {
“bool”: {
“should”: [{
“match”: {
“age”: 40
}
},
{
“match”: {
“age”: 20
}
}],
“filter”: {
“match”:{
“name”:“you”
}
}
}
}
}

–4.索引迁移
–场景 从A索引 复制到B索引
POST _reindex
{
“source”: {
“index”: “my_index”
},
“dest”: {
“index”: “new_my_index”
}
}

–5.基于查询的删除
POST test-index/_delete_by_query
{
“query”:{
“term”: {
“cameraId”:“00000000002”
}
}

}

–查询
GET test-index/_search
{
“query”:{
“term”: {
“cameraId”:“00000000002”
}
}
}
复制代码
按时间范围查询:

复制代码
GET order_stpprdinf_2019-12/_search
{
“size”:10,
“query”:{
“range”:{
“order_time”:{
“gte”:“2019-12-11T00:00:00+08:00”,
“lte”:“2019-12-11T23:59:59+08:00”
}
}
}
}
复制代码
按条件删除:

复制代码
GET order_stpprdinf_2019-12/_delete_by_query?conflicts=proceed
{
“query”:{
“range”:{
“order_time”:{
“gte”:“2019-12-11T00:00:00+08:00”,
“lte”:“2019-12-11T23:59:59+08:00”
}
}
}
}
复制代码

可在kibana的Dev Tools控制板上执行以上命令:

http://www.xdnf.cn/news/18359.html

相关文章:

  • 数据结构-HashSet
  • Android auncher3实现简单的负一屏功能
  • 基于SpringBoot的宠物用品系统【2026最新】
  • Android面试指南(四)
  • AI研究引擎的简单技术实现步骤
  • [软件开发技术栈]从MVVM到MVC
  • 机器学习5
  • Linux入门DAY29
  • (19)python复杂度计算:在线AI(时间复杂)和本地工具(圈复杂度)
  • 什么是Qoder?如何下载?如何体验?Qoder和其他 AI IDE 什么区别?
  • 7.Shell脚本修炼手册---awk基础入门版
  • NewsNow搭建喂饭级教程
  • Java实战:深度解析SQL中的表与字段信息(支持子查询、连接查询)
  • 【Java后端】Spring Boot 实现请求设备来源统计与UA解析全攻略
  • 今天,字节开源Seed-OSS-36B模型,512k上下文
  • OpenHarmony之 蓝牙子系统全栈剖析:从协议栈到芯片适配的端到端实践(大合集)
  • Django中的MVC和MVT模式
  • mac电脑使用(windows转Mac用户)
  • 【个人网络整理】NOIP / 省选 /NOI 知识点汇总
  • 哈希:最长连续序列
  • BGP高级特性
  • 通信工程学习:什么是Template Matching模版匹配
  • 利用 Java 爬虫获取淘宝商品评论实战指南
  • 谈谈架构的内容
  • Linux 802.11协议栈深度分析与实践指南
  • 如何在日常开发中高效使用 Copilot
  • 算法训练营day58 图论⑧ 拓扑排序精讲、dijkstra(朴素版)精讲
  • Wireshark数据包波形绘制异常
  • 【Docker】在Ubuntu22.04上安装Docker
  • 药品追溯码(溯源码)采集系统(二):门诊发药后端