es查询案例(入门)

es的安装:略

要求:

elasticsearch版本:7.12.1

kibana(图形化展示es)

创建测试索引库并加入测试数据

三个字段名称为:name,age,gender

类型为:text,integer,integer(es还支持其他类型)

PUT test
{
  "mappings": {
    "properties": {
      "name": {
        "type": "text"
      },
      "age": {
        "type": "integer"
      },
      "gender": {
        "type": "integer"
      }
    }
  }
}

 ========添加三条数据=======

POST test/_doc
{
  "name": "张三",
  "age": 12,
  "gender": 1
}
POST test/_doc
{
  "name": "李四",
  "age": 22,
  "gender": 1
}

POST test/_doc
{
  "name": "小花",
  "age": 21,
  "gender": 0
}

 测试后显示这样是成功添加

 导包+配置

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
</dependency>

<properties>
    <java.version>1.8</java.version>
    <elasticsearch.version>7.12.1</elasticsearch.version>
</properties>

因为SpringBoot默认的ES版本是7.6.2,所以我们需要覆盖默认的ES版本

在启动类上增加这段配置建立和es的连接

java代码

暂时全部采用String类型(自己有兴趣可以试试其他类型)

SearchRequest request = new SearchRequest("test");
创建一个名为"test"的索引的搜索请求对象
request.source()     

代表要查询

.query()

括号内的参数的具体的查询条件

QueryBuilders.matchAllQuery()

所有

client.search(request, RequestOptions.DEFAULT);

client.search=>Elasticsearch提供的搜索方法

括号内接收两个参数

request:表示要执行的搜索请求

                =>指定搜索的索引、查询DSL、排序方式、分页等相关设置

RequestOptions.DEFAULT:表示可选的请求选项配置

                =>使用默认的设置,例如超时时间、刷新策略等。你可以根据需要指定自定义的请

求选项。

handleResponse方法:

作用:解析响应执行相关逻辑

这里的第一个getHits拿到的是这个

 searchHits.getTotalHits().value;

找到total后拿到value

 searchHits.getHits();

这次拿的是黑色箭头的hits,并返回一个文档数组

hit.getSourceAsString();

 获取当前匹配文档的源数据,这里将获取的源数据以字符串的形式存储

Dome hotelDoc = JSON.parseObject(json, Dome.class);

转为Dome对象

System.out.println("Dome = " + hotelDoc);

打印到控制台看结果

 测试

 

控制台打印查询测试成功 

附带项目zip

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Artij

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值