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

标签 java solr solrj

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

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

关于java - 使用 SolrJ 使用 POST HTTP 方法从 Solr 读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51299657/

相关文章:

Solrcloud 删除集合错误?

java - 嵌入字段的列名无效

java - 使用 SQL 和 Java 登录

java - 变量未初始化

Solr/Lucene 最好的文件系统

java - Solr 8.1启动错误-maxBooleanClauses

来自规范名称的 java.lang.reflect.Type

mysql - Solr - 模式帮助(产品属性)

solr - 确切的词组匹配n-gram,但没有找到结果吗?

java - 使用 solrj 库