开始一直使用jboss/jetty 来运行solr服务,一直很正常,今天在前面加了一个nginx,突然间,提交add/update document都没反映了,第一反应是是否服务有问题呢,看solr 服务端日志,发现少了一些日志打印,add部分没有,debug solr服务端跟踪,发现请求过来的document参数为空。然后再看solrj客户端代码,发现每次都需要调两次服务端,一次发送数据,一次提交commit,而每次发送数据的时候都会返回socket broke pipe, 这是想到看看请求是否有到达服务端,debug服务端发现只有一次请求,且是commit参数的那次请求有到达。
这时才想起来,去看nginx,发现这样的报错:
"POST http://xxxxx/solr/core1/update?wt=javabin&version=2" 411 649 "-" "Solr[org.apache.solr.client.solrj.impl.HttpSolrServer] 1.0"
这就很明显了411错,原来是被nginx拦截且报错返回了, 411报错有一下这些原因:
nginx给出的官方解释有三种情况会引发nginx弹411回去
client sent invalid “Content-Length” header
client sent … method without “Content-Length” header
client sent “Transfer-Encoding: chunked” header
且这里有解决方案:
http://wiki.nginx.org/HttpChunkinModule
配置
会绕过nginx ngx_http_process_request_header 方法中对以上三种情况的检查
但是发现我nginx版本不支持HttpChunkinModule,先记着,等我升级了再来确认是否有效。
这边也找到类似的文章:http://artori.us/nginx-411-error/
分享到:
相关推荐
SolrJ 是 Apache Lucene 的一个子项目 Solr 提供的 Java 客户端库,它使得在 Java 应用程序中与 Solr 搜索服务器进行交互变得简单易行。这个"Sample-SolrJ-Client"是一个示例项目,旨在帮助开发者了解如何有效地使用...
里面有非常详细的说明交你怎么使用solrj客户端来操作solrAPI
solrj工具类封装,包括条件批量查询,批量增删改,分段修改。
Solr-Solrj是Apache Lucene项目下的一个子项目,专门为Apache Solr搜索引擎提供Java客户端库。Solr是一款强大的全文检索服务器,而Solrj则是与之交互的Java API,使得开发人员能够轻松地在Java应用程序中集成Solr的...
SolrJ是Apache Solr项目的Java客户端库,它为与Solr服务器进行交互提供了便利的API。这个压缩包包含了两个版本的SolrJ库:solr-solrj-4.10.3.jar和solr-solrj-5.0.0.jar。这两个版本的差异主要在于对Solr服务器的...
SolrJ是Apache Solr官方提供的Java客户端库,它使得Java开发者能够轻松地与Solr搜索引擎进行通信,执行查询、索引文档等操作。SolrJ的使用是大数据环境中实现高效全文检索和数据分析的关键组件。在Java项目中,正确...
Solr-Solrj 5.0.0 是一个用于与Apache Solr进行交互的Java客户端库。在本文中,我们将深入探讨Solr-Solrj的使用、功能及其与自建Solr服务的集成,特别是涉及到中文分词的场景。 Apache Solr是一款流行的开源全文...
SolrJ 6.3.0 是一个针对 Apache Solr 的 Java 客户端库,它使得在 Java 应用程序中与 Solr 服务器进行交互变得更加便捷。Solr 是一个流行的开源搜索引擎,用于处理和索引大量文本数据,提供高效、可扩展的全文搜索...
SolrJ是Apache Solr官方提供的Java客户端库,它使得在Java应用程序中与Solr搜索引擎进行交互变得简单。这个压缩包文件包含了SolrJ运行所必需的一些关键库,包括JUnit测试框架、Commons IO和Commons Logging。接下来...
SolrJ是Apache Solr官方提供的Java客户端库,它使得在Java应用程序中与Solr搜索引擎进行交互变得简单。Solr是一个高性能、可扩展的企业级全文搜索引擎,广泛用于内容索引和搜索。SolrJ提供了丰富的API,允许开发者...
——SolrJ客户端和一个二元响应协议,支持更快的客户端-服务器通信 ——搜索组件可以被组成链式结构,用来提供更灵活的查询处理。组件包括现有的功能如faceting(多侧面搜索),同时添加More Like This(更多类似的...
主要讲解了 solr客户端如何调用带账号密码的solr服务器调用,实现添加索引和查询索引,以及分组查询
- **介绍**: SolrJ是Solr提供的Java客户端库,用于简化Solr服务器的交互过程。 **2. 添加SolrJ依赖** - **步骤说明**: 在项目的构建文件中添加SolrJ的依赖项。 - **操作详情**: 对于Maven项目,在`pom.xml`文件...
solr部署在tomcat势必要设置用户权限,所以客户端solrj在创建连接的时候也需要用户名加密码
SolrJ是Apache Solr官方提供的Java客户端库,它使得在Java应用程序中与Solr进行交互变得简单。这个“solrj使用教程”很可能是为了帮助开发者了解如何使用SolrJ来连接、查询和管理Solr索引。下面将详细介绍SolrJ的...
solr-solrj-4.9.0.jar
solr-solrj-4.10.3.jar。
- **1.3.2 搜索**:用户发起搜索请求,Solr根据请求参数执行相应的查询,并返回结果。 ##### 1.4 源码结构 Solr的源码结构分为几个主要部分: - **1.4.1 目录结构说明**:Solr源码包含多个子模块,每个模块负责不同...
solr-solrj-4.4.0.jar
solr-solrj-6.6.0.jar