我找不到答案。我发现之前的类似问题没有得到答复。我想使用Spring数据solr进行查询。但@Query
不足以满足我的需求。据我所知,无论你在这里给出什么,都会成为一个{select}处理器的q
参数。
在我的情况下,我需要为空间搜索添加更多参数,例如sfield
。如果@Query
不会削减它,我准备通过自动装配SolrTemplate
来编写自定义存储库实现,但是Criteria
API似乎也不允许我添加原始查询参数。
非常感谢任何帮助/积分。
答案 0 :(得分:0)
我通过创建一个QueryParser
装饰器来解决这个问题,该装饰器将所需的参数添加到解析的solr查询中。 QueryParser
已使用solrTemplate.registerQueryParser()
注册。
但请注意,由于发送到solrTemplate.queryForPage
的所有查询都被QueryBase中的静态包保护内部类包装,因此我必须做一个非常讨厌的黑客才能使其正常工作。所以我上面的注册码必须在一个包org.springframework.data.solr.core