【发布时间】:2026-02-13 18:40:01
【问题描述】:
对于我的应用程序,我必须对弹性执行自定义计数,我想在我们使用的 ElasticsearchCrudRepository 中为此使用 @Query 注释。当我使用以下签名时:
@Query("CUSTOM BOOL QUERY HERE")
long countItemsCustom();
这会导致java.lang.IllegalArgumentException: Expected 1 but found 30 results 异常,因为它是作为查询而不是计数执行的。对于 spring-data-cassandra,我们有一个特殊的 @CountQuery 注解来解决这个问题。 spring-data-elasticsearch 中是否有类似的解决方案?
我可以使用弹性客户端或模板来执行自定义查询并获取结果,但如果可能的话,我更喜欢使用现有的存储库接口。
【问题讨论】:
标签: java spring spring-boot spring-data spring-data-elasticsearch