首页 > 解决方案 > 使用 POST HTTP 方法使用 SolrJ 从 Solr 读取数据

问题描述

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

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

标签: javasolrsolrj

解决方案


您可以使用 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;
    }

推荐阅读