我将Solr部署在带有Jetty的Jelastic中。可以使用URL访问其管理页面:
http://mydomain.jelastic.servint.net/solr
但是当我尝试从另一台机器添加这样的文件时:
String urlString = "http://mydomain.jelastic.servint.net/solr";
SolrServer solr = new HttpSolrServer(urlString);
SolrInputDocument document = new SolrInputDocument();
document.addField("id", "552199");
document.addField("name", "Gouda cheese wheel cheese");
UpdateRequest req = new UpdateRequest();
req.add(document);
UpdateResponse response = req.process(solr);
它不起作用。我收到以下错误:
org.apache.solr.common.SolrException: Server at http://mydomain.jelastic.servint.net/solr returned non ok status:411, message:Length Required
如果我使用假URL,则返回相同的错误,因此我认为根本原因必然是URL的问题。
它可以在同一台机器上正常访问Solr。
有人可以帮我一把吗?
答案 0 :(得分:0)
我有同样的问题。并解决了。 原因是1.3.3下的nginx不支持HttpChunkinModule。 http://wiki.nginx.org/HttpChunkinModule
答案 1 :(得分:0)
您的Jetty应用服务器还需要Public IP。因为默认情况下,所有请求都通过全局解析器,它也可以限制您的操作。