言于头:在上一步我们搭建了一个linux单机版的es并进行了简单的配置,最后可以通过ip端口的方式进行访问,今天就在这个基础上练习一下它的一些操作并记录于此(接口调用此处都是通过postman工具),所有操作参考于es官方文档,版本[7.5.1]。
ES文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.5/index.html
注意接口方式是- PUT
此时我们在查询索引信息就可以看到两条记录,如图。
为了后续的查询练习,现在可以先调用批量bulk方式入一波数据。
注意接口body中的数据格式,一行位置信息一行数据信息交错,表面看是json格式会报错 实际插入是没有问题的,下面表示插入了两条数据:_id不可重复 否则数据会覆盖哈!
提前准备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}
服务器执行,以二进制文件方式导入。
完成后进行索引查询可以看到现在 userbook中有3条数据,userinfo中有6条数据。
查询es中全部索引里面的数据区别就是url中不需要写上具体是那个索引皆可以了。
即参数中 size=0就可以不返回数据详细信息 只返回数量。
即利用 from: 开始位置,类似于offset. size 类似于limit。
参考地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.5/query-dsl.html
修改数据类似于新增插入,如果数据位置上有则进行覆盖 以达到修改的目的,如图。
插入后再次查询如下
即 sql中的between and用法,如图为查询age小于等于22的 。
即sql中的 group by,如图 通过age分组 默认结果降序排列,参数中的 group_by_age是对结果起一个别名可随意,aggs为聚合表示 terms是分组标识 里面可多个字段分组。
参考地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.5/search-aggregations.html
驱动包为: x-pack-sql-jdbc-7.5.1.jar
下载地址:https://www.elastic.co/cn/downloads/jdbc-client
将上诉下载的驱动添加到工程的classpath中,按照原生的jdbc使用步骤操作,如下会报一个 当前证书不支持jdbc这种调用的报错。
解决办法是:1.官网申请购买白金以上证书资格。2.开启测试证书权限,可进行短期访问,过期时间为30天【当然网上有破解过期步骤–需要自搜】,每隔新安装的es都有资格默认关闭。
于es安装的config目录下修改elasticsearch.yml文件 配置项
xpack.license.self_generated.type=trial
没有该项就手动添加后重启es即可。
此处推荐使用工具DbVisualizer,步骤参见: https://www.elastic.co/guide/en/elasticsearch/reference/7.1/sql-client-apps-dbvis.html
尽于尾:本章进行了es的索引操作、数据简单聚合查询、接口sql调用、jdbc以及客户端工具的访问-我已经做好笔记啦!!后续将继续es的其他使用,主要是和其他插件集成玩玩,感谢您的观看!