gpt4 book ai didi

java - 使用自定义 @Query 注释的 Spring-Data Elasticsearch 存储库计数不起作用 "Expected 1 but found 30 results"

转载 作者:行者123 更新时间:2023-12-02 09:51:59 24 4
gpt4 key购买 nike

对于我的应用程序,我必须对弹性执行自定义计数,我想在我们使用的 ElasticsearchCrudRepository 中使用 @Query 注释。当我使用以下签名时:

@Query("CUSTOM BOOL QUERY HERE")
long countItemsCustom();

这会导致 java.lang.IllegalArgumentException: Expected 1 but find 30 results 异常,因为它是作为查询而不是计数执行的。对于 spring-data-cassandra 我们有一个特殊的 @CountQuery 注解来解决这个问题。 spring-data-elasticsearch 中有类似的解决方案吗?

我可以使用弹性客户端或模板来执行自定义查询并获取结果,但如果可能的话,我更喜欢使用现有的存储库接口(interface)。

最佳答案

不,目前不可能。 ElasticsearchStringQuery 类检查使用 @Query 注解的方法的返回类型,然后执行 ElasticsearchOperations.queryFor...() 适合该方法的返回类型的方法。这些是数据查询,而不是计数查询。

我在 Spring Data Elasticsearch Jira 中创建了一个问题添加此功能。

关于java - 使用自定义 @Query 注释的 Spring-Data Elasticsearch 存储库计数不起作用 "Expected 1 but found 30 results",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56259293/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com