首页 > 解决方案 > 从 `SolrQuery` 转换为 `SolrRequest`

问题描述

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

QueryResponse response = solrClient.query(solrQuery);

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

SolrRequest solrRequest = new QueryRequest(solrQuery);

除了现在我给客户的电话需要改变。啊。

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

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

QueryResponse queryResponse = new QueryResponse(namedList, client);

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

标签: solrjsolr8

解决方案


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

QueryResponse queryResponse = queryRequest.process(solrClient);

推荐阅读