Elasticsearch实际项目开发,使用新版ElasticsearchRestTemplate实现分页条件查询

本文介绍了在Elasticsearch实际项目开发中,如何利用新版ElasticsearchRestTemplate实现分页和条件查询。通过结合elasticsearch、kibana以及logstash从数据库导入数据,详细阐述了controller层接口设计,包括分页参数、动态查询条件、范围查询、排序方式等,并展示了如何处理查询参数,避免空指针异常。此外,还讲解了bool查询、分页查询、排序查询和高亮查询的实现细节,强调理解ES查询语法的重要性。
摘要由CSDN通过智能技术生成

引入的springboot封装支持的Elasticsearch依赖:
注意:本次开发中需要结合elasticsearch和kibana开发工具,可以实时监测数据;

在ES开发中,我们还需要使用logstash从数据库查询数据,塞到ES搜索引擎,可以指定搜索数据的间隔时间;
具体操作是在logstash中添加mysql连接jar包(logstash-core文件夹下),添加mysql文件夹下的jdbc配置文件jdbc.sql和jdbc.conf(logstash的bin目录下); sql文件添加查询数据库的语句,conf文件添加mysql和ES的连接信息,mysql的监听时间(查询数据库的时间间隔)
在这里插入图片描述
controller层
需求描述:
实现一个条件分页查询的接口,通过Elasticsearch搜索引擎查询数据,将其查询所得数据返回给前端;

属性意义:
使用page当前页,size每页显示行数作为分页条件;
使用name商品名称,merchant供应商名称作为动态查询条件;
使用from最低价格,to最高价格作为范围查询条件;
使用orderField作为查询时的排序字段,例如可以根据价格升序或降序排列,或者根据商品购买量等作为排序字段;
使用orderType作为排序方式,有asc升序和desc降序两种方式.
在这里插入图片描述使用Elasticsearch支持的restful风格接口,其中分页参数是必传项,其它查询条件使用map集合封装.

具体实现:
在service实现类编写查询方法,这里需要从spring容器取ElasticsearchRestTemplate

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值