从 `SolrQuery` 转换为 `SolrRequest`

问题描述

使用 solr8。目前,我正在使用如下简单的 solr 查询

QueryResponse response = solrClient.query(solrQuery);

这很好用,但我有一个新要求,即在 solr 端点中包含特定于请求的标头。不幸的是,SolrQuery 不支持任何明显的内容。但是,我看到 SolrRequest 确实有 addHeader()。好极了!除了现在我必须将 SolrQuery 转换为 SolrRequest 对象。没什么大不了的:

SolrRequest solrRequest = new QueryRequest(solrQuery);

除了现在我对客户的呼吁需要改变。呃。

NamedList<Object> namedList = solrClient.request(solrRequest);

现在我需要以某种方式将 NamedList<Object> 转换为 QueryResponse。呃。

QueryResponse queryResponse = new QueryResponse(namedList,client);

当然,queryResponse 未完全填充(例如,未设置 elapsedtime)。我错过了什么吗?似乎必须有一种更简单的方法来做到这一点。

解决方法

啊哈!这个电话似乎解决了我的担忧:

QueryResponse queryResponse = queryRequest.process(solrClient);