【ELK】(二)Elasticsearch 的 CRUD

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 【ELK】(二)Elasticsearch 的 CRUD

文章目录


前言


1.索引操作

(1) 创建索引(和type)

(2) 删除索引

(3) 修改类型


2.添加数据


3.删除数据

(1) 按_id删除

(2) 按查询结果删除


4.修改数据

(1) 按照ID修改


5.查询数据


前言


初次接触到elasticsearch的小伙伴,建议先通过Postman来熟悉elasticsearch的

索引操作,本章博客也将在Postman上向大家展示elasticsearch的CRUD。


1.索引操作


(1) 创建索引(和type)


注意:Put http://ip:9201/索引名


image.png

image.png

image.png


通过数据浏览,我们可以看见索引已经建好,但此时都还没有数据。


创建索引的代码如下:

number_of_replicas 是数据备份数,如果只有一台机器,设置为0
number_of_shards 是数据分片数,默认为5,有时候设置为3
{
  "setting":{
  "index":{
    "number_of_shards":5,
    "number_of_replicas":1
  }
  },
  "mappings":{
  "userinfos":{
    "properties":{
    "userid":{
      "type":"integer"
    },
    "username":{
      "type":"text"
    },
    "birthday":{
      "type":"date",
      "format":"yyyy-MM-dd||yyyy-MM-dd HH:mm:ss"
    },
    "say":{
      "type":"text"
    },
    "jobtime":{
      "type":"integer"
    }
    }
  }
  }
}


(2) 删除索引


DELETE http://ip:9201/索引名


image.png


(3) 修改类型


POST http://IP:9201/索引名/类型名/_mapping


image.png

{
  "userinfos" :{
  "properties":{
    "aliasName":{
    "type":"text"
    }
  }
  }
}


2.添加数据



POST http://IP:9201/索引名/类型名[/id 不给就自动添加]
{
按照你设置的type格式输入
}

image.png

image.png


注意这里,手动添加了id


按上述方式,我们多插入几条数据,在elasticsearch-head页面看到结果如下:


image.png


3.删除数据


(1) 按_id删除

DELETE http://IP:9201/索引名/类型名/ID


(2) 按查询结果删除

POST http://IP:9201/索引名/类型名/_delete_by_query
{查询语法}


4.修改数据


(1) 按照ID修改

POST http://IP:9200/索引名/类型名/ID/_update
1
{
  "doc":{
  "say":"九阳神功,乾坤大挪移"
  }
}



5.查询数据


(1)按照ID查询
GET http://IP:9200/索引名/类型名/ID
(2)简单查询
GET http://IP:9200/索引名/类型名/_search
①普通模糊查询
{
  "query":{
  "match":{
    "username":"a"
  }
  }
}
②短语查询
{
  "query":{
  "match_phrase":{
    "username":"a"
  }
  }
}
③多列查询
{
  "query":{
  "multi_match":{
    "query":"a",
    "fields":["column1","column2"]
  }
  }
}
④分页查询
{
  "query":{
  "multi_match":{
    "username":"a",
    "fields":["column1","column2"]
  }
  },
  "from":1,
  "size":10
}
⑤分组/聚合查询
{
  "aggs":{
  "query_by_name":{
    "terms":{
    "field":"username"
    }
  }
  }
}
{
  "aggs":{
  "query_by_name":{
    "stats":{
    "field":"username"
    }
  }
  }
}
⑥Query string查询[Java语法常用]
{
  "query":{
  "query_string":{
    "query":"张 OR 赵 OR 李"
  }
  }
}
⑦范围查询
{
  "query":{
  "range":{
    "age":{
    "gte":15,
    "lte":20
    }
  }
  }
}
(3)Filter查询
{
  "query":{
  "bool":{
    "filter":{
    "term":{
      "birthday":"1999-9-9"
    }
    }
  }
  }
}
(4)复合查询(should/must/must_not)
{
  "query":{
  "bool":{
    "should":[
    {
      "match":{
      "username":"张"
      }
    },
    {
      "match":{
      "birthday":"1999-9-9"
      }
    }
    ]
  }
  }
}


相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
1月前
|
JSON Java API
(ELK)ElasticSearch8.7 搭配 SpringDataElasticSearch5.1 的使用
截至2023/7/11日,全网最全最直白的SpringDataElasticSearch5.1
204 2
|
SQL JSON API
ELK技术栈 - Elasticsearch 学习笔记(三)
ELK技术栈 - Elasticsearch 学习笔记(三)
186 0
ELK 圣经:Elasticsearch、Logstash、Kibana 从入门到精通
ELK是一套强大的日志管理和分析工具,广泛应用于日志监控、故障排查、业务分析等场景。本文档将详细介绍ELK的各个组件及其配置方法,帮助读者从零开始掌握ELK的使用。
|
存储 监控 安全
|
存储 JSON 监控
大数据-167 ELK Elasticsearch 详细介绍 特点 分片 查询
大数据-167 ELK Elasticsearch 详细介绍 特点 分片 查询
759 4
|
监控 应用服务中间件 nginx
使用 Docker Compose V2 快速搭建日志分析平台 ELK (Elasticsearch、Logstash 和 Kibana)
ELK的架构有多种,本篇分享使用的架构如图所示: Beats(Filebeat) -> -> Elasticsearch -> Kibana,目前生产环境一天几千万的日志,内存占用大概 10G
1193 4
|
存储 缓存 数据处理
ELK中 Elasticsearch和Logstash内存大小设置的考虑
ELK中 Elasticsearch和Logstash内存大小设置的考虑
709 0
|
存储 消息中间件 监控
【ElasticSearch】ELK简介
【ElasticSearch】ELK简介
474 2
【ElasticSearch】ELK简介
|
存储 JSON API
ELK技术栈 - Elasticsearch 学习笔记(二)
ELK技术栈 - Elasticsearch 学习笔记(二)
317 0
|
存储 SQL JSON
ELK技术栈 - Elasticsearch 学习笔记(一)
ELK技术栈 - Elasticsearch 学习笔记(一)
391 0
下一篇
oss云网关配置