通过 Criteria API 添加原始查询参数
Adding raw query parameters via Criteria API
我找不到这个问题的答案。我发现以前的类似问题没有答案。我想使用 Spring data solr 进行查询。但是 @Query
不足以满足我的需求。据我了解,无论您在此处提供什么,都会成为 solr 的“select”处理程序的 q
参数。
在我的例子中,我需要添加更多参数,例如 sfield
用于空间搜索。如果 @Query
不会削减它,我准备通过自动装配 SolrTemplate
编写自定义存储库实现,但是 Criteria
API 似乎不允许我添加原始查询参数要么。
任何 help/points 将不胜感激。
我通过创建一个 QueryParser
装饰器来解决这个问题,该装饰器将所需的参数添加到已解析的 solr 查询中。 QueryParser
是使用 solrTemplate.registerQueryParser()
注册的。
但是请注意,我不得不做一个非常讨厌的 hack 才能让它工作,因为发送到 solrTemplate.queryForPage
的所有查询都被 QueryBase 中受保护的内部 class 静态包包装。所以我上面的注册码必须在一个包里 org.springframework.data.solr.core
我找不到这个问题的答案。我发现以前的类似问题没有答案。我想使用 Spring data solr 进行查询。但是 @Query
不足以满足我的需求。据我了解,无论您在此处提供什么,都会成为 solr 的“select”处理程序的 q
参数。
在我的例子中,我需要添加更多参数,例如 sfield
用于空间搜索。如果 @Query
不会削减它,我准备通过自动装配 SolrTemplate
编写自定义存储库实现,但是 Criteria
API 似乎不允许我添加原始查询参数要么。
任何 help/points 将不胜感激。
我通过创建一个 QueryParser
装饰器来解决这个问题,该装饰器将所需的参数添加到已解析的 solr 查询中。 QueryParser
是使用 solrTemplate.registerQueryParser()
注册的。
但是请注意,我不得不做一个非常讨厌的 hack 才能让它工作,因为发送到 solrTemplate.queryForPage
的所有查询都被 QueryBase 中受保护的内部 class 静态包包装。所以我上面的注册码必须在一个包里 org.springframework.data.solr.core