springboot 集成 elasticsearch(maven项目)

2023-11-14

1.搭建springboot项目,能跑起来(具体百度,我的springboot版本 1.5.9.RELEASE)

2.本机或者服务器安装elasticsearch并启动服务成功(我本地Windows安装的elasticsearch版本6.1.1)

3.pom引入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna</artifactId>
    <version>4.5.1</version>
</dependency>

3.配置文件添加 application.properties


# ELASTICSEARCH (ElasticsearchProperties})
#集群名。(默认值: elasticsearch)
spring.data.elasticsearch.cluster-name=elasticsearch
#集群其他节点地址列表,用逗号分隔。如果没有指定,就启动一个客户端节点。默认 9300 是 Java 客户端的端口。
#spring.data.elasticsearch.cluster-nodes=192.168.21.111:9300
#是否开启本地(我本地测试用就启用本地了)
spring.data.elasticsearch.local=true
#开启 Elasticsearch 仓库。(默认值:true。)
spring.data.elasticsearch.repositories.enabled=true
#存储索引的位置
#spring.data.elasticsearch.properties.path.home=data/elasticsearch
#日志存储目录
#spring.data.elasticsearch.properties.path.logs=./elasticsearch/log
#数据存储目录
#spring.data.elasticsearch.properties.path.data=./elasticsearch/data
#连接超时的时间
#spring.data.elasticsearch.properties.transport.tcp.connect_timeout=120s

4.实体对象添加注解

import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.io.Serializable;
import java.util.Date;

@Document(indexName="user",type="user")
public class User implements Serializable {
    @Id
    private Integer id;
    //类型改成string存到elasticsearch
    @Field(type = FieldType.String)
    private Long mobile;

    private String password;

    private String nickname;

    getter setter...
    }

5.ElasticsearchRepository已实现 保存 删除等直接调用就行

import cc.datebook.springboot.entity.User;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import org.springframework.stereotype.Component;

import java.util.List;

//泛型的参数分别是实体类型和主键类型
@Component
public interface UserSearchRepository extends ElasticsearchRepository<User, Integer> {

    List<User> findUserByMobileContainingOrNicknameContaining(String mobile,String nickname);
}

6.接口调用

@PostMapping(value = "/user")
    public JsonResult user(@RequestBody Map<String, Object> params) {
        String keyword = params.get("keyword").toString();
        List<User> users = UserSearchRepository.findUserByMobileContainingOrNicknameContaining(keyword,keyword);
        Map<String,Object> map =  new HashMap<String,Object>();
        map.put("users", users);
        return new JsonResult(ResultCode.SUCCESS, "检测成功",map);
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springboot 集成 elasticsearch(maven项目) 的相关文章

随机推荐

  • C语言,使用函数封装,实现单词的逆置 “hello my student” 最终结果是”student my hello”

    实现单词的逆置 hello my student 最终结果是 student my hello 在该函数 void StrFun char str 循环字符串的 在该函数 void StrRev char str 主要是实现逆置的 incl
  • 超详细的Linux基础命令

    文章目录 前言 Linux目录结构 Linux命令通用格式 ls 命令 什么是工作目录 什么是 HOME 目录 目录切换相关命令 cd 命令 pwd 命令 特殊的路径符 创建目录 文件操作相关命令 touch 命令 cat 命令 more
  • java 日历_java的日历类(Calendar)详解

    老实说对于时间的处理我大部分都在用Calendar日历类解决 现在整理一下 方便以后开发查阅 java util 类 Calendar java lang Object 继承者 java util Calendar 所有已实现的接口 Ser
  • 火线 地线 零线 漫谈

    交流电不分正负 那为什么又要分火线和零线呢 零线的对地电位不一定为零 接近0 零线的最近接地点是在变电所或者供电的变压器处 交流电正半周火线电压为220v 零线接近0v 正 负半周时火线电压为负220v 零线电压接近0V 负 所以二相插座不
  • 此URL不支持Http方法GET 详情 请求行中接收的方法由源服务器知道,但目标资源不支持 解决方法之一

    因为response和request位置反了 这里位置反了所以doGet是灰的 换了个位置就好了 具体原因https www it1352 com 982509 html
  • 深入理解 Spring Boot Starters 原理(手写Spring boot Start)

    版权声明 本文为博主原创文章 遵循 CC 4 0 by sa 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net zhaohong bo article details 89924053 一 Spri
  • 英特尔的集显和Nvidia的独显切换(切换之后永久有效)

    参考网址 https blog csdn net a850565178 article details 107979314 前提介绍 安装了nvidia驱动之后 有些电脑会发现setting的devices的Graphics显示的还是llv
  • SmartAndroid之SmartJump,告别onActivityResult

    SmartJump 需求 应用场景 实现思路 代码 调用示例 后记 需求 在跳转到另一个Activity后 通过回调直接获取到数据 应用场景 普通的activity跳转 回调获取数据可以使逻辑更清晰 第三方库中activity数据回调可以让
  • 实战案列:AntiDebug

    往期推荐 self debugging反调试 轮循检测技术 进程名称检测 Java层反调试 Anti Debug主要是通过各种函数去确定当前进程是否处于被调试的状态 一 IDA里面静态分析so文件 1 将文件拖入jdax gui中 进行静态
  • PLSQL字体设置常见问题

    PLSQL字体设置常见问题 从网络资源下载的PLSQL 字体默认的大小不太适合大屏幕的电脑 因为看起来字体很小 我们可打开PLSQL来设置字体的大小以及其他常规设置 一 字体太小 操作流程 菜单栏的Tools gt Preferences
  • 静态多态和动态多态

    多态 静态多态和动态多态 多态的实现主要分为静态多态和动态多态 静态多态主要是重载和模板 在编译的时候就已经确定 动态多态是用虚函数机制实现的 在运行期间动态绑定 举个例子 一个父类类型的指针指向一个子类对象时候 使用父类的指针去调用子类中
  • vue学习 十二 vue文件目录知晓 or 组件嵌套

    说明 我使用的是HBuilder 软件能用就可以了 查看顺序是 index html 入口文件 gt main js gt App vue 模板文件 可以看出能显示出欢迎页面 还有那个大V都在这里可以看到 gt components 自定义
  • Redis DEL删除命令是否会导致阻塞

    DEL命令是存在阻塞的可能性的 1 使用DEL命令删除key DEL keya keyb keyc 2 根据删除的key的数量和类型 操作的时间复杂度不同 删除N个key key中的数量为M则时间复杂度是O N M 删除一个字符串的key则
  • 类中有引用需要注意——非静态的引用成员错误提示,不能使用默认的赋值运算符

    我们知道 当我们我们没有定义赋值操作符时 编译器会生成一个默认的赋值操作符执行浅拷贝 就像默认构造函数一样是编译器默认生成的 而如果勒种有引用就需要注意一个大大的误区 我们知道引用在定义的时候就需要初始化 指定这个引用变量是哪个变量的别名
  • C常用标准库及函数

    常用头文件 stdio h stdlib h ctype h string h math h system h 1 stdio库 主要功能是输入输出操作 包括文件输入输出 标准输入输出 输出函数 int puts const char st
  • Method的invoke方法初步了解

    Java调试过程中 我们有时候会需要对JVM运行过程中哪出了问题进行调试 先从最基础的了解 我们都知道Java框架中方法的调用基本上都是通过反射机制来实施的 具体流程如下 1 方法的调用先检查AccessibleObject的overrid
  • IT项目管理-HW6

    1 a b c 最后一条为该项目的关键路径 长度为15天 d 完成该项目所需的最短时间可能是10天 3 根据 1 中介绍 看板在项目流程中载体的分类为两种 一种是实体看板 一种是互联网看板 实体看板是敏捷开发团队中使用的最多 最直接的一种看
  • 脉冲的三种形式

    脉冲信号可以分为AB相脉冲 脉冲 方向 CW CCW脉冲 这三种信号格式 在十几年前或者还有明显的相对优缺点和适用场合 现在就已经无所谓了 即使在使用上还是有所区分 也基本上是由于历史习惯 1 A B信号 位置传感器最喜欢的格式 因为 早期
  • 修改远程桌面端口bat批处理(windows)

    新建批处理 将以下内容复制进去即可 修改成功后会自动重启 echo off color f0 echo 修改远程桌面3389端口 支持Windows 2003 2008 2008R2 2012 2012R2 7 8 10 echo 自动添加
  • springboot 集成 elasticsearch(maven项目)

    1 搭建springboot项目 能跑起来 具体百度 我的springboot版本 1 5 9 RELEASE 2 本机或者服务器安装elasticsearch并启动服务成功 我本地Windows安装的elasticsearch版本6 1