Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用POST HTTP方法使用SolrJ从Solr读取数据_Java_Solr_Solrj - Fatal编程技术网

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

Java 使用POST HTTP方法使用SolrJ从Solr读取数据,java,solr,solrj,Java,Solr,Solrj,我们使用SolrJ客户端从Solr查询文档。我们正在构建的查询很大,Solr拒绝该查询(带有错误响应) 但是,我可以直接调用Solr的/query端点,并使用post请求将查询作为主体发布。有没有一种方法可以使用SolrJ客户端来实现这一点?您可以使用QueryRequest在SolrJ中使用post方法,该方法具有设置HTTP方法的选项 public QueryResponse query(SolrQuery parameters){ QueryResponse resp=nu

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


但是,我可以直接调用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;
    }

如果通过实例化并要求执行来执行查询,则只需将传递用作。下面是一个简单的例子:

import org.apache.solr.client.solrj.impl.HttpSolrClient;
导入org.apache.solr.client.solrj.SolrQuery;
导入org.apache.solr.client.solrj.SolrRequest.METHOD;
导入org.apache.solr.client.solrj.response.QueryResponse;
/* ... */
HttpSolrClient=新的HttpSolrClient。
建筑商(“http://localhost:8983/solr").
withConnectionTimeout(1000)。
使用SocketTimeout(60*1000)。
build();
SolrQuery query=新的SolrQuery(“*:*”);
QueryResponse response=client.query(query,METHOD.POST);

Hi Amit,您找到使用solrj的解决方案了吗?在我的一个场景中,我也遇到了这个问题