spring-data-elasticsearch 4.0
-
在2.3.0中,spring-data-elasticsearch中的es已经升级到了7.6.2,ElasticsearchRestTemplate也弃用了很多方法,有的也直接移除了,搜索直接走search方法,而返回的类型也是 SearchHits,SearchHit包装了,如果项目中很多使用template的地方,可以考虑不动为好
-
而在2.x中,es是6.8.1,如果es服务器是7.x,则控制台全是type的警告,毕竟type已经弃用了,后面也会移除
如果非要升级的话,直接将以前的queryFotList,queryForPage全换成search即可,然后转换一下就行了
2.3.0中,提供了一个SearchHitSupport,看看源码,似乎不好使用,而使用SearchHitSupport的也是很多弃用的方法,返回的也是一个object。推荐自己按照业务需求写一个就好,比如返回list,加高亮等等
public class SearchHitSupport {
public static <T> List<T> unwrapSearchHits(SearchHits<T> result) {
if (result == null) {
return Collections.emptyList();
}
List<SearchHit<T>> searchHits = result.getSearchHits();
return searchHits.stream()
.map(SearchHitSupport::unwrapSearchHit)
.collect(Collectors.toList());
}
public static <T> T unwrapSearchHit(SearchHit<T> result) {
return result.getContent();
}
}
springboot2.3.0更新内容可参考添加链接描述
升级:如果项目用到了注解校验,spring-boot-starter-validation需要手动添加下依赖,官方也提到了,支持优雅关机