You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在spring-data中使用@Query注解增大elasticsearch返回结果数量

Spring Data Elasticsearch 默认查询返回最多10条结果,要调整为返回100条可以用以下三种方案:

  • 方案一:调用时传入分页参数(灵活调整返回数量)
    修改接口定义,新增Pageable类型入参:
// 接口定义
@Query("{\"match\": {\"metaData.transcript1\": {\"query\": \"?0\",\"fuzziness\": \"AUTO\",\"prefix_length\": \"0\",\"max_expansions\": \"100\",\"boost\": \"1.0\"}}}")
@Highlight(fields = {@HighlightField(name = "metaData.transcript1")}, parameters = @HighlightParameters(
        preTags = "<em>",
        postTags = "</em>",
        fragmentSize = 50,
        numberOfFragments = 3
    ))
List<SearchHit<Audio>> findByKeyword(String query, Pageable pageable);

调用时传入分页参数获取前100条:

// 调用示例
List<SearchHit<Audio>> result = audioRepository.findByKeyword("搜索关键词", PageRequest.of(0, 100));
  • 方案二:固定接口默认返回数量
    用@PageableDefault注解指定默认分页大小,调用时不传分页参数就默认返回100条:
@Query("{\"match\": {\"metaData.transcript1\": {\"query\": \"?0\",\"fuzziness\": \"AUTO\",\"prefix_length\": \"0\",\"max_expansions\": \"100\",\"boost\": \"1.0\"}}}")
@Highlight(fields = {@HighlightField(name = "metaData.transcript1")}, parameters = @HighlightParameters(
        preTags = "<em>",
        postTags = "</em>",
        fragmentSize = 50,
        numberOfFragments = 3
    ))
List<SearchHit<Audio>> findByKeyword(String query, @PageableDefault(size = 100) Pageable pageable);
  • 方案三:直接限制接口最大返回条数
    不需要分页逻辑的场景可以直接加@Limit注解固定返回最多100条,不需要额外入参:
@Query("{\"match\": {\"metaData.transcript1\": {\"query\": \"?0\",\"fuzziness\": \"AUTO\",\"prefix_length\": \"0\",\"max_expansions\": \"100\",\"boost\": \"1.0\"}}}")
@Highlight(fields = {@HighlightField(name = "metaData.transcript1")}, parameters = @HighlightParameters(
        preTags = "<em>",
        postTags = "</em>",
        fragmentSize = 50,
        numberOfFragments = 3
    ))
@Limit(size = 100)
List<SearchHit<Audio>> findByKeyword(String query);

另外注意你原代码中@HighlightParameters里fragmentSize = 50后面缺失逗号,会导致编译报错,上述示例代码已经补全。

内容的提问来源于stack exchange,提问作者Ajay Rajpurohit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:06:02