服务等级:
String linkname = StringUtils.join(link, "\", \"");
String querylink = StringUtils.wrap(linkname, "\"");
String query = "{"+"\"linkname\":["+querylink +"]}";
res = elasticsearchRepo.getMethod(querylink, PageRequest.of(page-1, pageSize));
回购类:
@Query("{\"bool\":{\"filter\":[{\"terms\":?0}]}}")
Page<Testtables> getMethod(String query,Pageable pageable);
相同的代码在 springboot-starter-data-elastcisearch 版本 2.2.7.RELEASE 和 6.8.8 spring-data-elasticsearch(3.2.7.RELEASE 父级)中运行良好
但是 springboot-starter-data-elastcisearch 版本 2.2.14 和 7.17.11 spring-data-elastcisearch (4.4.14 父版本)出现异常
例外:
reason=意外字符(''(代码 92)):期望以双引号开头字段名称 [来源:[B@7192df39;行:1,列:31]]
@Query("{"bool":{"filter":[{"terms":{"linkname": ?0}}]}}")
正如 Val 在评论中建议的那样,在 ?0 中传递值并以静态字符串形式休息,这对我们有用..谢谢你
我们测试的springboot版本是2.7.14