springboot 集成elasticsearh的简单配置
添加依赖 gradle
compile("org.springframework.boot:spring-boot-starter-data-elasticsearch:${springBootVersion}")
只要加入依赖后springboot就可以自动加载相关操作了,基本使用方式如下
application.properties 中可以配置es的一些动作,下面只列举部分,详细的可以看官网
# ELASTICSEARCH (ElasticsearchProperties})
#spring.data.elasticsearch.cluster-name=es-cluster-local
# The address(es) of the server node (comma-separated; if not specified starts a client node)
#spring.data.elasticsearch.cluster-nodes=192.168.30.129:9300
# if local mode should be used with client nodes
#spring.data.elasticsearch.local=true
# if spring data repository support is enabled
#spring.data.elasticsearch.repositories.enabled=true
下面列举一个简单例子,有使用了lombok要先在idea中安装插件才可以使用
package cn.xiaojf.today.data.es.entity; import lombok.Builder;
import lombok.Data; /**
* @author xiaojf 2016/12/14 20:07.
*/
@Builder
@Data
public class Tag {
private String id;
private String name;
}
package cn.xiaojf.today.data.es.entity; import lombok.Builder;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.Version;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType; import java.util.Date;
import java.util.List; /**
* @author xiaojf 2016/12/14 11:02.
*/
@Builder
@Data
@Document(indexName = "syslog",type = "2016-12-14",shards = 5,replicas = 1)
public class SysLog {
@Id
private String id;
@Version
private Long version;
private String logType;
@Field(type = FieldType.Ip)
private String ip;
private String content;
@Field(type = FieldType.Date)
private Date logTime;
@Field(type = FieldType.Nested)
private List<Tag> tags;
}
package cn.xiaojf.today.data.es.repository; import cn.xiaojf.today.data.es.entity.SysLog;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import org.springframework.stereotype.Repository; /**
* @author xiaojf 2016/12/14 20:09.
*/
public interface SysLogRepository extends ElasticsearchRepository<SysLog,String> { }
package cn.xiaojf.today.web.controller; import cn.xiaojf.today.data.es.entity.SysLog;
import cn.xiaojf.today.data.es.entity.Tag;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList;
import java.util.Date;
import java.util.List; /**
* @author xiaojf 2016/12/14 20:10.
*/
@RestController
@RequestMapping("/es")
public class EsController {
// @Autowired
// private SysLogService logService; @RequestMapping("/add")
@ResponseBody
public void add() {
Tag tag = Tag.builder().name("xiaojf").build();
List<Tag> tags = new ArrayList<>();
tags.add(tag);
tags.add(tag); SysLog log = SysLog.builder()
.ip("172.16.29.193")
.content("测试日志")
.logTime(new Date())
.tags(tags)
.build();
// logService.add(log);
}
}
只要简单的几个操作,就可以插入数据到es,非常简单
springboot 集成elasticsearh的简单配置的更多相关文章
- SpringBoot集成MyBatis的Bean配置方式
SpringBoot集成MyBatis的Bean配置方式 SpringBoot是一款轻量级开发的框架,简化了很多原先的xml文件配置方式,接下来就介绍一下如何不适用XML来配置Mybatis spri ...
- springBoot日志快速上手简单配置
默认配置 日志级别从低到高分为: TRACE < DEBUG < INFO < WARN < ERROR < FATAL. 如果设置为 INFO ,则低于 INFO 的信 ...
- springboot 集成eureka 超详细配置
撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> 原文链接: https://blog.csdn.net/nanbiebao6522/article/detail ...
- springboot集成通用mapper详细配置
通常,我们利用mybatis写持久层方法.要么按照传统定义mapper方法,定义xml文件的方式,全部手写.要么需要通过mybatis-generator逆向工程插件生成大量的xxxExample文件 ...
- springboot系列七:springboot 集成 MyBatis、事物配置及使用、druid 数据源、druid 监控使用
一.MyBatis和druid简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.M ...
- SpringBoot 集成Elasticsearch进行简单增删改查
一.引入的pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...
- SpringBoot集成Nacos
一.环境说明 1.CentOS7 2.Jdk1.8 3.Mysql5.7 4.Nacos1.3 5.SpringBoot2.3.1.RELEASE 6.Maven3.6 二.下载Nacos 1.Nac ...
- SpringBoot 集成MQTT配置
目录 1. 前言 2. MQTT介绍 3. SpringBoot 集成MQTT 3.1 导入mqtt库 3.2 配置MQTT订阅者 3.3 配置MQTT发布者 3.4 MQTT消息处理和发送 3.4. ...
- SpringBoot集成Swagger2并配置多个包路径扫描
1. 简介 随着现在主流的前后端分离模式开发越来越成熟,接口文档的编写和规范是一件非常重要的事.简单的项目来说,对应的controller在一个包路径下,因此在Swagger配置参数时只需要配置一 ...
随机推荐
- sqlldr用法
SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中.SQL*LOADER是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PAR ...
- MarkDown 常用语法教程
MarkDown 语法说明 [TOC] 标题 标题1 ====== 标题2 ----- ## 大标题 ### 小标题 #### 小标题 列表 无序列表 + 列表文本前使用 [减号+空格] * 列表文本 ...
- How to trace the Geolocation of network traffic
A case about suspicious malware App. A forensic examiner capatured some pcap files and he'd to know ...
- AngularJS学习笔记5
11.AngularJS HTML DOM ng-disabled 指令直接绑定应用程序数据到 HTML 的 disabled 属性. <button ng-disabled="my ...
- struts2之拦截器
1. 为什么需要拦截器 早期MVC框架将一些通用操作写死在核心控制器中,致使框架灵活性不足.可扩展性降低, Struts 2将核心功能放到多个拦截器中实现,拦截器可自由选择和组合,增强了灵活性,有利于 ...
- Android学习探索之运用MVP设计模式实现项目解耦
前言: 一直致力于提高开发效率降低项目耦合,今天想抽空学习一下MVP架构设计模式,学习一下如何运用到项目中. MVP架构设计模式 MVP模式是一种架构设计模式,也是一种经典的界面模式.MVP中的M代表 ...
- lua 模块
lua 模块 概述 lua 模块类似于封装库 将相应功能封装为一个模块, 可以按照面向对象中的类定义去理解和使用 使用 模块文件示例程序 mod = {} mod.constant = "模 ...
- Linux--shell脚本之文本处理工具
文本处理工具--grep.sed.awk Bash Shell提供了功能强大的文件处理工具:sed(流编辑器stream editor)和awk,都可使用正则表达式进行模式匹配. 而grep又有助于理 ...
- JS+html--实现图片轮播
大家肯定见过某些网站一个炫酷的页面,就是图片轮播,也就是我们常说的幻灯片播放.对于初学者来说,可能会有点头疼,没关系,小李在这给大家献上自己刚刚写好的关于图片轮播的代码. 以下功能的实现用了jQuer ...
- 基于Prism.Windows的UWP开发备忘
以前做UWP开发都是使用MvvmLight,主要是简单易上手,同时也写了很多MvvmLight的开发系列文章: UWP开发必备以及常用知识点总结 UWP开发之Mvvmlight实践九:基于MVVM的项 ...