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

时间:2018-07-12 07:27:58

标签: solrj

我们正在使用SolrJ客户端从Solr查询文档。我们正在构建的查询很大,而solr正在拒绝该查询。但是,我可以直接调用solr“ / query” api并使用POST请求将查询作为正文发布。有没有一种方法可以通过SolrJ客户端完成。

2 个答案:

答案 0 :(得分:3)

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

pr.name

答案 1 :(得分:1)

如果通过实例化SolrQuery并要求SolrClient来执行查询,则只需传递HTTP method即可用作additional {{3} }。这是一个简单的示例:

import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrRequest.METHOD;
import org.apache.solr.client.solrj.response.QueryResponse;

/* ... */

HttpSolrClient client = new HttpSolrClient.
    Builder("http://localhost:8983/solr").
        withConnectionTimeout(1000).
        withSocketTimeout(60 * 1000).
        build();
SolrQuery query = new SolrQuery("*:*");
QueryResponse response = client.query(query, METHOD.POST);