springboot集成es 插入和查询的简单使用

这篇具有很好参考价值的文章主要介绍了springboot集成es 插入和查询的简单使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一步:引入依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>

第二步:配置yml文件,在spring下面加上这个

  elasticsearch:
    rest:
      # ip是服务器ip地址
      uris: http://127.0.0.1:9200

然后启动项目,看到出现这个就是成功了

springboot集成es 插入和查询的简单使用,spring boot,elasticsearch,java

第三步: 创建一个常量类,用于存储我们一会儿要用到的名称

public class OrderEs {
    public static final String INDEX_NAME = "order_index";

    public static final String ID = "id";

    public static final String ORDER_NO = "order_no";

    public static final String ORDER_BUYER = "order_buyer";

    public static final String ORDER_PHONE = "order_phone";

    public static final String REAL_PAY = "real_pay";

    public static final String ACCOUNT = "account";
}

第四步:创建Es实体类,注意要加上@Document注解

@Document(indexName = OrderEs.INDEX_NAME)
@Data
public class OrderEsPO {

    @Id
    @Field(type = FieldType.Keyword,name = OrderEs.ID)
    private String id;

    @Field(type = FieldType.Keyword,name = OrderEs.ORDER_NO)
    private String orderNo;

    @Field(type = FieldType.Keyword,name = OrderEs.ORDER_BUYER)
    private String orderBuyer;

    @Field(type = FieldType.Keyword,name = OrderEs.ORDER_PHONE)
    private String orderPhone;

    @Field(type = FieldType.Keyword,name = OrderEs.REAL_PAY)
    private String realPay;

    @Field(type = FieldType.Keyword,name = OrderEs.ACCOUNT)
    private String account;

}

第五步:写测试接口,这里展示了插入和查询两个方法

@RestController
@RequestMapping("/order")
@CrossOrigin
public class OrderController 

    @Resource
    private ElasticsearchRestTemplate elasticsearchRestTemplate;

    /**
     * es插入
     *
     * @return {@link String}
     */

    @GetMapping("/esinsert")
    @Transactional
    public String esInsert(){
        OrderEsPO orderEsPO = new OrderEsPO();
        orderEsPO.setOrderNo("1234455");
        orderEsPO.setOrderBuyer("张三");
        orderEsPO.setOrderPhone("13191892075");
        orderEsPO.setRealPay("100000");
        orderEsPO.setAccount("1008611");
        elasticsearchRestTemplate.save(orderEsPO);
        return "success";
    }

    /**
     * es搜索
     *
     * @param orderEsPO 订单es参数
     * @return {@link String}
     */
    @GetMapping("/essearch")
    @Transactional
    public String esSearch(OrderEsPO orderEsPO){
        /**构造查询对象**/
        BoolQueryBuilder booleanQueryBuilder = QueryBuilders.boolQuery();
        /**编写查询条件**/
        booleanQueryBuilder.should(QueryBuilders.termQuery(OrderEs.ORDER_NO,orderEsPO.getOrderNo()));
        /**构造query对象**/
        NativeSearchQuery nativeSearchQuery = new NativeSearchQuery(booleanQueryBuilder);
        /**搜索**/
        SearchHits<OrderEsPO> search = elasticsearchRestTemplate.search(nativeSearchQuery, OrderEsPO.class, IndexCoordinates.of(OrderEs.INDEX_NAME));
        List<OrderEsPO> collect = search.getSearchHits().stream().map(SearchHit::getContent).collect(Collectors.toList());
        return collect.toString();
    }
}

然后我们启动项目,先调用插入接口,由于这个索引一开始是不存在的,第一次调用后会默认创建索引,然后打开我们的可视化界面,就能看到这里的索引

springboot集成es 插入和查询的简单使用,spring boot,elasticsearch,java

 再调用查询,就能看到如下信息了

springboot集成es 插入和查询的简单使用,spring boot,elasticsearch,java

 说明两个接口都能被调用成功,es的简单使用就完成了文章来源地址https://www.toymoban.com/news/detail-682095.html

到了这里,关于springboot集成es 插入和查询的简单使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot集成ES

    POM依赖 配置文件 示例代码

    2024年02月11日
    浏览(40)
  • Spring Boot进阶(55):SpringBoot之集成MongoDB及实战使用 | 超级详细,建议收藏

            随着大数据时代的到来,数据存储和处理变得越来越重要。而MongoDB作为一种非关系型数据库,具有高效的数据存储和处理能力,被越来越多地应用于各种领域。尤其在Web应用开发中,SpringBoot框架已经成为了主流选择之一。在这篇文章中,我们将探讨如何将MongoD

    2024年02月17日
    浏览(48)
  • Spring Boot进阶(48):SpringBoot之集成WebSocket及使用说明 | 超级详细,建议收藏

            WebSocket是一种新型的通信协议,它可以在客户端与服务器端之间实现双向通信,具有低延迟、高效性等特点,适用于实时通信场景。在SpringBoot应用中,集成WebSocket可以方便地实现实时通信功能,如即时聊天、实时数据传输等。         本文将介绍如何在Sprin

    2024年02月16日
    浏览(54)
  • Spring Boot集成ES7.10

        在Spring boot中主要有Java REST Client、spring-data-elasticsearch两种方式,这里建议使用Elasticsearch官方提供的Java High Level REST Client来集成。 1,添加配置文件添加连接信息 2,添加ES配置类 基础的分页参数 封装的分页返回对象

    2024年02月11日
    浏览(42)
  • Spring boot简单集成Elasticsearch

    本文主要介绍Spring boot如何简单集成Elasticsearch,关于es,可以理解为一个数据库,往es中插入数据,然后使用es进行检索。 环境准备 安装es 和kibana :参考 安装ik分词器:参考 相关配置 pom.xml文件中引入es: yml文件配置es: ES查询 往es插数据 需要让mapper层继承ElasticsearchReposito

    2024年02月22日
    浏览(50)
  • Spring Boot集成Redis简单示例

    要在Spring Boot中集成Redis,你可以使用Spring Data Redis库来简化操作。 下面是一个示例代码: 首先,在你的Spring Boot项目的pom.xml文件中添加以下依赖: 接下来,配置Redis连接信息。在application.properties(或application.yml)文件中添加以下配置: 然后,创建一个Redis服务类来执行一些

    2024年01月22日
    浏览(53)
  • 【Spring Boot】Spring Boot 集成 RocketMQ 实现简单的消息发送和消费

    本文主要有以下内容: 简单消息的发送 顺序消息的发送 RocketMQTemplate的API介绍 环境搭建: RocketMQ的安装教程:在官网上下载bin文件,解压到本地,并配置环境变量,如下图所示: 在 Spring boot 项目中引入 RocketMQ 依赖: 在application.yml增加相关配置: 在 Spring Boot 中使用RocketM

    2024年02月14日
    浏览(51)
  • 关于SpringBoot集成ES Scroll API(滚动查询)的实践

    那是年初在某个交付项目,从用户侧获知了一个elastic search作为分布式数据库的一个瓶颈,那就是单次查询量超过了ES的默认单次查询上限10000。 在大部分业务下,为了执行ES的数据查询,开发者往往都直接使用了query某个条件获取数据,这些条件对应的数据大多都不会超过1

    2024年01月23日
    浏览(37)
  • Spring Boot集成WebSocket Demo,简单明了

    如果是初次搭建Spring Boot+WebSocket项目,不需要太复杂,只需要快速上手,那么你搜到的大部分文章可能都不适合你,我的这篇文章以最精简的方式搭建一个可以运行并通信的Spring Boot+WebSocket的Demo项目,有了根基之后再进行复杂化就不是难事了。 搭建Spring Boot项目都会吧,下面

    2024年02月09日
    浏览(41)
  • Spring Boot进阶(84):Spring Boot集成Shiro:安全、简单、快捷 | 超级详细,建议收藏

            随着互联网的快速发展,越来越多的应用程序需要进行用户身份验证和权限控制,保障系统的安全性和稳定性,以此而来Shiro。Shiro是一个易于使用的Java安全框架,其提供了身份验证、授权、加密、会话管理等功能,可以轻松地与Spring框架集成,是企业级应用程序

    2024年02月04日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包