首页 > 其他分享 >springboot使用start集成es踩坑记录:不要使用严格动态

springboot使用start集成es踩坑记录:不要使用严格动态

时间:2024-10-27 18:31:45浏览次数:4  
标签:springboot Field private start 索引 FieldType type es String

在建立索引时,我使用了

"dynamic":"strict",

保证不会传入脏数据。

然后我使用了

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

来集成es

 

下面是我的java中的bean与mapper

@Data
@Document(indexName = "article")
@AllArgsConstructor
@NoArgsConstructor
public class ArticleDoc implements Serializable {
    @Id
    @Field(type = FieldType.Keyword)
    private Integer id;
    @Field(type = FieldType.Text)
    private String title;

    @Field(type = FieldType.Text)
    private String content;

    @Field(type = FieldType.Text, index = false)
    private String author;

    @Field(type = FieldType.Date, index = false)
    private String time;

    @Field(type = FieldType.Text)
    private String describe;

    //高亮封装
    @Transient
    private Map<String, List<String>> highlights;

}
@Repository
//泛型是Doc对象和ID的类型
public interface ArticleMapper extends ElasticsearchRepository<ArticleDoc, Integer> {
}

在插入索引时总是显示doc实体与es中的索引不匹配,后面重新修改了索引建立,发现插入时果然多了东西。

 原因是Spring Data Elasticsearch 默认会将文档的 Java 类名存储在 _class 字段中。这样,在查询结果返回时,Spring Data Elasticsearch 可以自动将 JSON 文档转换回对应的 Java 对象。

所以如果使用springdataes的话就要选择在建索引的时候要不不再使用strict,要不就在建立索引的时候填上_class

标签:springboot,Field,private,start,索引,FieldType,type,es,String
From: https://www.cnblogs.com/kun1790051360/p/18508717

相关文章

  • kubernetes中的微服务详解
    华子目录什么是微服务微服务的类型ipvs模式ipvs模式配置方式注意微服务类型详解`ClusterIP`类型`Services`创建后`集群DNS`提供`解析``ClusterIP`中的特殊模式:`headless无头服务`NodePort类型访问过程NodePort默认端口`LoadBalancer`类型访问过程metalLBmetalLB功能......
  • Codeforces Round 981 (Div. 3) 题解(A-E)
    目录分析A思路代码B思路卡题原因代码C思路卡题原因codeD思路卡题原因代码E思路wa原因codeCodeforcesRound981(Div.3)分析这场整体发挥都不好,虽然题也抽象,但是对于这些题完全没必要卡这么久.正常至少能看到\(\mathbf{F}\)A思路因为边界\(n\)管辖\(\pm\),而Sak......
  • Java 中使用 Session 对象(以登录、退出功能为例)
    一、创建Session(登录功能)使用session.setAttribute(value,key)保存key属性的值value@RequestMapping("/login")publicStringlogin(Stringusername,Stringpassword,HttpSessionsession){//验证账号密码是否错误if(username!="张三"||password!=......
  • Codeforces Round 980 (Div. 2) 题解(A-D)
    目录A思路B思路wa原因C思路wa原因代码D思路未ac原因代码CodeforcesRound980(Div.2)A思路推方程式即可,勉强算贪心吧.需要使得\({a-x}\)最小,那么\(x\)就需要最小,而满足题目条件,需要\(a-x\geb-2x\)得出\(x\geb-a\),又因为需要\(a\)最大,所以\(......
  • Two Types of Growth(成长的2种模式 1 )
    Anythingyoutrytoimprovewillhaveagrowthcurve.Imagineyouraneverydayandyoutrackedyourspeedtofinisha5-milecourse.Smoothingoutthenoise,overenoughtimeyou’dprobablygetagraphlikethis:任何你试图提高水平的东西都有一个增长曲线......
  • springboot面试题
    什么是SpringBoot?你们项目中为什么使用springboot?SpringBoot简化了使用Spring的难度。简省了繁重的配置,提供了各种启动器,开发者能快速上手。独立运行SpringBoot而且内嵌了各种servlet容器,Tomcat、Jetty等,现在不再需要打成war包部署到容器中,SpringBoot只要打成一个......
  • ESP32 使用 MAX98357 调用ESP-A2DP库播放蓝牙音乐
    ESP32-A2DP 库github链接:https://github.com/pschatzmann/ESP32-A2DP 硬件:ESP32+MAX989357+喇叭代码:(注意将其中的I2S引脚定义为自己的MAX98357相连接的引脚)最佳实践:在VSCode的PlatformIO的Library,查找ESP32-A2DP,然后将其安装进工程中。 #include"ESP_I2S.h"......
  • 基于springboot+vue的高校就业管理系统,
    基于springboot+vue的高校就业管理系统,分为管理员:测试账号:10086/123学生:测试账号:10087/123  包含个人信息、查看企业岗位信息、简历信息管理、我的应聘企业:测试账号:10070/123  包含企业信息、岗位企业信息管理、查看学生简历信息、应聘信息管理辅导员:测试账号:100......
  • 【开题报告】基于Springboot+vue爱心捐赠系统(程序+源码+论文) 计算机毕业设计
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当今社会,随着经济的快速发展和人民生活水平的不断提升,越来越多的人开始关注并参与到公益事业中来。然而,传统的捐赠方式往往存在信息不对称、流程繁......
  • 【开题报告】基于Springboot+vue医院药品管理系统(程序+源码+论文) 计算机毕业设计
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在现代医疗体系中,医院药品管理是保证医疗质量和安全的重要环节。随着医疗技术的不断进步和医疗需求的日益增长,医院药品的种类和数量不断增加,药品管理......