spring-data使用elasticsearch的那些坑

【背景】

springboot2,里面已经有JPA的DAO层了,现在又想加个ES,好实现分词检索和相关性推荐

 

【坑】

1,之前想写2个DAO,一个ESDAO,一个普通DAO,然后公用一个pojo,不行,老是冲突。所以我写了2个pojo。

解决:esrepository写法跟jparepository一毛一样。然后dao层放一个xxDAO,一个xxESDAO,pojo层放一个xx,一个xxES。

 

2,在调试过程中,我的pojo经常会改(xxES),所以es会报类型匹配错误。原因是你之前已经有那个indexname了,后来改了(增加了属性,或者减少),跟之前的就匹配不上了。

解决:你可以换个indexname(pojo里面换),也可以在kibnan里面把那个indexname delete,再重启项目(重启项目的时候,spring会连接到ES,生成index)

删除index可以看这个:https://www.lagou.com/lgeduarticle/8326.html

 

3,ES的时间类型,真的是梦魇。跟我之前DAO里面的时间( yyyy-MM-dd HH:mm:ss )一直匹配不上。后来终于找到一个能用的。

解决:pojo里的时间,注解成这种:

@Field(type=FieldType
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值