首页 > 数据库 >SqlEs快速入门

SqlEs快速入门

时间:2024-09-25 19:24:30浏览次数:1  
标签:DateField 入门 mapper com private SqlEs 快速 sqles es

可以参考demo:https://github.com/czcuestc/sqles/tree/master/sqles-demo

1,使用SqlEs很简单,首先创建实体类,通过注解配置索引,示例如下:

@Document
@Setting(maxResultWindow = 1000)
public class TestEntity implements Serializable {
    private static final long serialVersionUID = -190806307024075427L;
    /**
     * id字段,作为实体对象的唯一标识,可以根据该字段快速查找记录。
     * id字段的值必须设置,若id不设置,则插入,更新,删除操作会失败。
     */
    @Id
    @LongField
    private Long id;

    /**
     * 添加了Highlight注解,默认会将搜索高亮结果内容放入highlight字段,highlight字段变量名默认为highlight+当前字段名,camel命名
     *
     */
    @Highlight
    @TextField(analyzer = Analyzer.IK_SMART)
    private String textField;

    /**
     * highlight字段
     */
    private String highlightTextField;

    @KeyWordField
    private String keywordField;

    @BoolField
    private Boolean boolField;

    @ByteField
    private Byte byteField;

    @ShortField
    private Short shortField;

    @ShortField
    private Short nullValue;

    @IntegerField
    private Integer integerField;

    /***
     * Routing注解可设置路由字段
     */
    @Routing
    @LongField
    private Long longField;

    @HalfFloatField
    private Float halfFloatField;

    @ScaledFloatField(scalingFactor = 100)
    private BigDecimal scaledFloatField;

    @FloatField
    private Float floatField;

    @DoubleField
    private Double doubleField;

    @DateField
    private String stringDateField;

    @DateField
    private Date dateField;

    @DateField
    private Long longDateField;

    @DateField
    private Time timeField;

    @DateField
    private Timestamp timestampField;

    @DateField
    private LocalTime localTimeField;

    @DateField
    private LocalDateTime localDateTimeField;

    @DateField
    private Instant instantField;

    /**
     * 记录score会默认放入该字段,也可以用@Score注解指定。
     */
    private float score;
}

 

2,配置连接字符串,和数据库配置一样,唯一区别es连接字符为jdbc:es//xxxx,多个es实例以逗号分隔。

spring:
  datasource:
    sqles:
      url: jdbc:es://localhost:9200/mall?useUnicode=true&characterEncoding=UTF-8&useSSL=false
      username: root
      password: 123
      driver-class-name: com.czcuestc.sqles.jdbc.Driver
      type: com.alibaba.druid.pool.DruidDataSource
      druid:
        initial-size: 15 #连接池初始化大小
        min-idle: 20 #最小空闲连接数
        max-active: 30 #最大连接数

 

3,配置mapper扫描注解

@SqlEsMapperScan(basePackages = "com.sqles.demo") 
SqlEsMapperScan扫描实体类配置和索引管理mapper。
MapperScan扫描es mapper配置和接口(es的mapper文件和数据库配置方式一样,你可以把es看成一个数据库,es提供了jdbc驱动,屏蔽了底层差异),然后可以通过mybatis访问es了。
/**
 * Copyright [2023-2024] [czcuestc]
 * All rights reserved
 */
@Configuration
@MapperScan(basePackages = "com.sqles.demo.mapper")
@SqlEsMapperScan(basePackages = "com.sqles.demo")
public class DataSourceConfig {
    @ConfigurationProperties(prefix = "spring.datasource.sqles")
    @Bean(name = "sqles")
    public DataSource dataSource() {
        DataSource dataSource= DruidDataSourceBuilder.create().build();
        return dataSource;
    }
}

标签:DateField,入门,mapper,com,private,SqlEs,快速,sqles,es
From: https://www.cnblogs.com/czcuestc/p/18432017

相关文章

  • 快速部署MySQL数据库
    一.下载对应的软件版本下载地址:http://mirrors.sohu.com/mysql/MySQL-5.6/备用地址:http://ftp.ntu.edu.tw/pub/MySQL/Downloads/[root@localhost~]#wget-qhttp://mirrors.sohu.com/mysql/MySQL-5.6/sql-5.6.36-linux-glibc2.5-x86_64.tar.gz二、解压、配置用户和权限[root@loca......
  • WPS演示 wpp.exe系统错误ntdll丢失怎么办?WPS演示wpp.exe ntdll.dll丢失快速恢复指南
    当WPS演示(wpp.exe)遇到系统错误提示“ntdll.dll丢失”时,这通常意味着Windows操作系统中的一个关键动态链接库文件(DLL)丢失或损坏,导致WPS演示无法正常运行。以下是一个快速恢复指南,帮助您解决这一问题:一、重新启动计算机首先,尝试最简单的解决方案——重新启动计算机。有时,简单......
  • 《守望先锋2》libcef.dll文件丢失无法运行?快速定位并解决《守望先锋2》libcef.dll文件
    《守望先锋2》在运行时提示libcef.dll文件丢失,这确实是一个可能导致游戏无法正常运行的问题。以下是一些快速定位并解决这一问题的步骤:一、了解libcef.dll文件libcef.dll文件通常与ChromiumEmbeddedFramework(CEF)相关,它对于游戏内嵌的网页内容展示与交互至关重要,如登录界面......
  • Go从入门到放弃之map(字典)
    字典声明和初始化Go语言中提供的映射关系容器为map,map也是个无序集合,底层不会按照元素添加顺序维护元素的存储顺序Go语言中 map的定义语法如下:KeyType:表示键的类型。ValueType:表示键对应的值的类型。map[KeyType]ValueTypemap类型的变量默认初始值为nil,需要使用make()函数来......
  • Go从入门到放弃之数组、切片
    一、数组数组的声明和初始化在Go语言中,数组是固定长度的、同一类型的数据集合。数组中包含的每个数据项被称为数组元素,一个数组包含的元素个数被称为数组的长度。在Go语言中,你可以通过 [] 来标识数组类型,但需要指定长度和元素类型,使用时可以修改数组成员,但是数组大小不可变化......
  • Go从入门到放弃之数据类型
    数据类型概述Go支持的数据类型基本数据类型布尔类型:bool整型:int8、byte、int16、int、uint、uintptr等浮点类型:float32、float64复数类型:complex64、complex128字符串:string字符类型:rune错误类型:error复合类型指针(pointer)数组(arr......
  • Go从入门到放弃之指针
    要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值指针地址和指针类型每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置。Go语言中使用&字符放在变量前面对变量进行“取地址”操作。Go语言中的值类型(int、float、bool、string、array、struct)都......
  • 入门网络安全工程师要学习哪些内容
       大家都知道网络安全行业很火,这个行业因为国家政策趋势正在大力发展,大有可为!但很多人对网络安全工程师还是不了解,不知道网络安全工程师需要学什么?知了堂小编总结出以下要点。网络安全工程师是一个概称,学习的东西很多,具体学什么看自己以后的职业定位。如果你以后想成为......
  • 入门网络安全工程师要学习哪些内容
       大家都知道网络安全行业很火,这个行业因为国家政策趋势正在大力发展,大有可为!但很多人对网络安全工程师还是不了解,不知道网络安全工程师需要学什么?知了堂小编总结出以下要点。网络安全工程师是一个概称,学习的东西很多,具体学什么看自己以后的职业定位。如果你以后想成为......
  • Linux 基础入门操作 第十章 多线程实现
    10线程介绍线程是进程的一条执行路径。每个线程共享其所附属的进程的所有的资源,包括打开的文件、页表(因此也就共享整个用户态地址空间)、信号标识及动态分配的内存等等。线程和进程的关系是:线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一物理内存空间......