【问题标题】:Is there a way to perform query_string search in elasticsearch spring boot repository有没有办法在 elasticsearch spring boot 存储库中执行 qery_string 搜索
【发布时间】:2021-08-20 08:31:03
【问题描述】:
我们正在使用 springboot 弹性搜索启动器来访问 ElasticsearchRepository。
之前我们会在任何字段上搜索或使用搜索和查询构建器在 Spring Boot 中执行 query_string 搜索。此搜索方法已被弃用,并已引入 searchSimalr。
使用 ElasticsearchRepository 中带有分页的 searchSimilar 方法对弹性搜索执行任何字段搜索的任何方式?
【问题讨论】:
标签:
spring-boot
elasticsearch
spring-data
spring-data-elasticsearch
【解决方案1】:
我们可以使用@Query注解来做query_string搜索查询。
@Query("{\n" +
"\t\"query_string\": {\n" +
"\t \"query\": \"?0\"\n" +
"\t}\n" +
"}")
Page<Incident> findBySearchOnAllFields(String search, Pageable pageable);
注意缺少外部查询对象,因为 Spring Boot 添加了相同的内容,如果我们添加,则它会变成双倍并且不起作用