zoukankan      html  css  js  c++  java
  • Solr读取数据异常

    Solr读取数据异常


    前话:大家都是知道Solr的请求方式为:get请求,

    在Http1.1协议中并没有提出针对URL的长度进行限制,RFC协议里面是这样描述的,HTTP协议并不对URI的长度做任何的限制,服务器端必须能够处理任何它们所提供服务多能接受的URI,并且能够处理无限长度的URI,如果服务器不能处理过长的URI,那么应该返回414状态码。

    虽然Http协议规定了,但是Web服务器和浏览器对URI都有自己的长度限制。

    服务器的限制:我接触的最多的服务器类型就是Nginx和Tomcat,对于url的长度限制,它们都是通过控制http请求头的长度来进行限制的,Nginx的配置参数为large_client_header_buffers,tomcat的请求配置参数为maxHttpHeaderSize都是可以自己去进行设置。

    IE : 2803
    Firefox:65536
    Chrome:8182
    Safari:80000
    Opera:190000

    对于get请求,在url的长度限制范围之内,请求的参数个数没有限制。

    搜索关键字:q

    org.apache.solr.client.solrj.SolrServerException: Error executing query
        at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:98)
        at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:301)
        at com.mediaadx.dmp.comset.common.solr.solrcloud.SolrCloudServerImpl.main(SolrCloudServerImpl.java:115)
    Caused by: java.lang.RuntimeException
        at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:115)
        at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:83)
        at org.apache.solr.common.cloud.ZkStateReader.<init>(ZkStateReader.java:138)
        at org.apache.solr.client.solrj.impl.CloudSolrServer.connect(CloudSolrServer.java:140)
        at org.apache.solr.client.solrj.impl.CloudSolrServer.request(CloudSolrServer.java:165)
        at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:90)
        ... 2 more

    这是保留的草稿,大概情况是因为,查询字符串太长了,超过了服务器所能处理的长度。

    可以参考这篇文章修改:

    设置Tomcat服务器的HTTP首部长度最大值

    学生浅薄 望众师指点
  • 相关阅读:
    mac下创建nativescript angular项目
    图解原型及原型链
    类型转换规则
    无符号右移操作符 this.length >>> 0
    认识 void 运算符
    Spark ML机器学习库评估指标示例
    CentOS7 Cloudera Manager6 完全离线安装 CDH6 集群
    Ambari HDP 下 SPARK2 与 Phoenix 整合
    IDEA设置
    Tricky Sum
  • 原文地址:https://www.cnblogs.com/Nihility/p/14695668.html
Copyright © 2011-2022 走看看