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