我们正在使用SolrJ客户端从Solr查询文档。我们正在构建的查询很大,Solr拒绝了该查询(错误响应为 414 URI Too Long )。

但是,我可以直接调用Solr的/query端点,并使用POST请求将查询作为正文发布。有没有办法使用SolrJ客户端执行此操作?

最佳答案

您可以在带有QueryRequest的SolrJ中使用post方法,该方法具有用于设置HTTP方法的选项。

public QueryResponse query(SolrQuery parameters){
        QueryResponse resp=null;
        try {
            QueryRequest queryRequest=new QueryRequest(parameters);
            queryRequest.setMethod(SolrRequest.METHOD.POST);
            NamedList nl=solrClient.request(queryRequest);
            resp=new QueryResponse(nl, solrClient);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return resp;
    }

09-29 22:52