Elasticsearch-【2】常用操作

言于头:在上一步我们搭建了一个linux单机版的es并进行了简单的配置,最后可以通过ip端口的方式进行访问,今天就在这个基础上练习一下它的一些操作并记录于此(接口调用此处都是通过postman工具),所有操作参考于es官方文档,版本[7.5.1]。

1.文档地址

ES文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.5/index.html

2.索引使用

2.1 创建索引

注意接口方式是- PUT
Elasticsearch-【2】常用操作_第1张图片

2.2 查询索引信息

Elasticsearch-【2】常用操作_第2张图片

2.3 插入数据到索引

注意接口方式是- PUT
Elasticsearch-【2】常用操作_第3张图片

2.4 插入数据时无索引自动创建

注意接口方式是- PUT
Elasticsearch-【2】常用操作_第4张图片
此时我们在查询索引信息就可以看到两条记录,如图。
Elasticsearch-【2】常用操作_第5张图片

2.5 删除索引

注意接口方式是- DELETE
Elasticsearch-【2】常用操作_第6张图片

3.批量执行

为了后续的查询练习,现在可以先调用批量bulk方式入一波数据。

3.1 批量插入

注意接口body中的数据格式,一行位置信息一行数据信息交错,表面看是json格式会报错 实际插入是没有问题的,下面表示插入了两条数据:_id不可重复 否则数据会覆盖哈!
Elasticsearch-【2】常用操作_第7张图片

3.2 脚本导入json数据

提前准备json格式数据样例,同理也是一行位置一行数据交错,如图所示【切记换行符必须为\r\n】。

{
     "index":{
     "_id":"2"}}
{
     "name":"softbook1","age":1}
{
     "index":{
     "_id":"3"}}
{
     "name":"softbook2","age":1}
{
     "index":{
     "_id":"4"}}
{
     "name":"softbook3","age":1}
{
     "index":{
     "_id":"5"}}
{
     "name":"softbook4","age":1}
{
     "index":{
     "_id":"6"}}
{
     "name":"softbook5","age":1}

服务器执行,以二进制文件方式导入。
Elasticsearch-【2】常用操作_第8张图片
完成后进行索引查询可以看到现在 userbook中有3条数据,userinfo中有6条数据。
Elasticsearch-【2】常用操作_第9张图片

4.查询

4.1 查询某索引固定位置数据

如图为查询userinfo中位置_id为1的数据
Elasticsearch-【2】常用操作_第10张图片

4.2 查询全部索引数据

查询es中全部索引里面的数据区别就是url中不需要写上具体是那个索引皆可以了。
Elasticsearch-【2】常用操作_第11张图片

4.3 设置查询结果只返回数量

即参数中 size=0就可以不返回数据详细信息 只返回数量。
Elasticsearch-【2】常用操作_第12张图片

4.4 查询返回指定字段

即只返回需要的几个字段,如图只返回name age字段。
Elasticsearch-【2】常用操作_第13张图片

4.5 分页查询

即利用 from: 开始位置,类似于offset. size 类似于limit。
Elasticsearch-【2】常用操作_第14张图片

4.6 更多查询

参考地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.5/query-dsl.html

5.修改数据

修改数据类似于新增插入,如果数据位置上有则进行覆盖 以达到修改的目的,如图。
Elasticsearch-【2】常用操作_第15张图片
插入后再次查询如下
Elasticsearch-【2】常用操作_第16张图片

6.聚合查询

6.1 范围查询

即 sql中的between and用法,如图为查询age小于等于22的 。
Elasticsearch-【2】常用操作_第17张图片

6.2 分组统计

即sql中的 group by,如图 通过age分组 默认结果降序排列,参数中的 group_by_age是对结果起一个别名可随意,aggs为聚合表示 terms是分组标识 里面可多个字段分组。
Elasticsearch-【2】常用操作_第18张图片

6.3 求平均值

Elasticsearch-【2】常用操作_第19张图片

6.4 最大最小求和平均

Elasticsearch-【2】常用操作_第20张图片

6.5 更多聚合操作

参考地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.5/search-aggregations.html
Elasticsearch-【2】常用操作_第21张图片

7.接口sql查询es

7.1 指定条数返回

Elasticsearch-【2】常用操作_第22张图片

7.2 分组排序

Elasticsearch-【2】常用操作_第23张图片

8.JDBC访问

8.1 驱动下载

驱动包为: x-pack-sql-jdbc-7.5.1.jar
下载地址:https://www.elastic.co/cn/downloads/jdbc-client

8.2 jdbc调用

将上诉下载的驱动添加到工程的classpath中,按照原生的jdbc使用步骤操作,如下会报一个 当前证书不支持jdbc这种调用的报错。
Elasticsearch-【2】常用操作_第24张图片
解决办法是:1.官网申请购买白金以上证书资格。2.开启测试证书权限,可进行短期访问,过期时间为30天【当然网上有破解过期步骤–需要自搜】,每隔新安装的es都有资格默认关闭。

8.3 开启测试证书
8.3.1 修改测试证书配置

于es安装的config目录下修改elasticsearch.yml文件 配置项
xpack.license.self_generated.type=trial
没有该项就手动添加后重启es即可。
Elasticsearch-【2】常用操作_第25张图片

8.3.2 接口启动

此步骤接着上一步配置完成操作.
Elasticsearch-【2】常用操作_第26张图片

8.4 jdbc再次调用

Elasticsearch-【2】常用操作_第27张图片

9 客户端工具调用

此处推荐使用工具DbVisualizer,步骤参见: https://www.elastic.co/guide/en/elasticsearch/reference/7.1/sql-client-apps-dbvis.html

9.1 DbVisualizer配置

使用上边下载的jdbc驱动
Elasticsearch-【2】常用操作_第28张图片

9.2 通过DbVisualizer查询es数据

工具左侧能看上诉的两个索引以及它里面的具体字段信息。
Elasticsearch-【2】常用操作_第29张图片

尽于尾:本章进行了es的索引操作、数据简单聚合查询、接口sql调用、jdbc以及客户端工具的访问-我已经做好笔记啦!!后续将继续es的其他使用,主要是和其他插件集成玩玩,感谢您的观看!

你可能感兴趣的:(Java,数据库,elasticsearch,java)