Solr 通过CriteriaAPI添加原始查询参数

Solr 通过CriteriaAPI添加原始查询参数,solr,spring-data-solr,Solr,Spring Data Solr,我找不到答案。我发现前面类似的问题没有答案。我想使用SpringDataSolr进行查询。但是@Query不足以满足我的需要。据我所知,这里给出的任何内容都将成为solr的“select”处理程序的q参数 在我的例子中,我需要添加更多参数,例如空间搜索的sfield。如果@Query无法剪切它,我准备通过自动连接SolrTemplate来编写自定义存储库实现,但是条件API似乎也不允许我添加原始查询参数 任何帮助/要点都将不胜感激。我通过创建一个QueryParserdecorator将所需参数

我找不到答案。我发现前面类似的问题没有答案。我想使用SpringDataSolr进行查询。但是
@Query
不足以满足我的需要。据我所知,这里给出的任何内容都将成为solr的“select”处理程序的
q
参数

在我的例子中,我需要添加更多参数,例如空间搜索的
sfield
。如果
@Query
无法剪切它,我准备通过自动连接
SolrTemplate
来编写自定义存储库实现,但是
条件
API似乎也不允许我添加原始查询参数


任何帮助/要点都将不胜感激。

我通过创建一个
QueryParser
decorator将所需参数添加到解析的solr查询中来解决这个问题。使用
solrTemplate.registerQueryParser()
注册了
QueryParser


但是请注意,我必须进行一次非常恶劣的黑客攻击才能使其正常工作,因为发送到
solrTemplate.queryformage
的所有查询都由QueryBase中受静态包保护的内部类包装。因此,我上面的注册码必须在一个包中
org.springframework.data.solr.core

,扩展SolrTemplate或QueryParser的所有可能机会都被关闭了,因为大多数这些点都是最终的(在我看来,对于像data solr这样的项目来说,这是一个糟糕的设计,因为您无法始终实现所有功能)。我想我只需要直接使用SolrServer和SolrQuery编写代码,然后自己处理所有分页。