问题描述
使用 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);