使用 SolrJ 使用 POST HTTP 方法从 Solr 读取数据

Ami*_*mit 6 java solr solrj

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

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

rag*_*777 5

您可以使用 SolrJ 中的 QueryRequest 中的 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;
    }
Run Code Online (Sandbox Code Playgroud)