【ELK】(二)Elasticsearch 的 CRUD

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 【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"
      }
    }
    ]
  }
  }
}


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
16天前
|
存储 监控 安全
|
1月前
|
存储 JSON 监控
大数据-167 ELK Elasticsearch 详细介绍 特点 分片 查询
大数据-167 ELK Elasticsearch 详细介绍 特点 分片 查询
52 4
|
6月前
|
SQL JSON API
ELK技术栈 - Elasticsearch 学习笔记(三)
ELK技术栈 - Elasticsearch 学习笔记(三)
99 0
|
4月前
|
存储 缓存 数据处理
ELK中 Elasticsearch和Logstash内存大小设置的考虑
ELK中 Elasticsearch和Logstash内存大小设置的考虑
267 0
|
6月前
|
监控 应用服务中间件 nginx
使用 Docker Compose V2 快速搭建日志分析平台 ELK (Elasticsearch、Logstash 和 Kibana)
ELK的架构有多种,本篇分享使用的架构如图所示: Beats(Filebeat) -> -> Elasticsearch -> Kibana,目前生产环境一天几千万的日志,内存占用大概 10G
382 4
|
API 索引
【Elasticsearch】学好Elasticsearch系列-索引的CRUD
【Elasticsearch】学好Elasticsearch系列-索引的CRUD
96 0
|
6月前
|
存储 JSON API
ELK技术栈 - Elasticsearch 学习笔记(二)
ELK技术栈 - Elasticsearch 学习笔记(二)
252 0
|
6月前
|
存储 SQL JSON
ELK技术栈 - Elasticsearch 学习笔记(一)
ELK技术栈 - Elasticsearch 学习笔记(一)
247 0
|
存储 消息中间件 监控
【ElasticSearch】ELK简介
【ElasticSearch】ELK简介
169 2
【ElasticSearch】ELK简介
|
缓存 应用服务中间件 nginx
基于Docker搭建ELK(Elasticsearch、Logstash、Kibana)
ELK是一套强大的开源工具组合,可以帮助我们采集、存储、分析和可视化大量的日志数据,本文通过简明清晰的步骤指导,帮助读者快速搭建起基于Docker的ELK日志分析平台,为日志数据的收集、存储、分析和可视化提供了一种高效可靠的解决方案。