更改Solr基上下文path

我已经在Ubuntu机器上安装了Solr(5.3.1和5.5.0)。

我用apache做了一个

ProxyPass /MySolr http://{url}:8984/solr ProxyPassReverse /MySolr http://{url}:8984/solr 

所以,当我加载{url} / MySolr仪表板不加载,因为一个JSON。

http://{url}/solr/admin/cores?wt=json&indexInfo=false&_=...

这很正常,因为要加载的URL是:

http://{url}/MySolr/admin/cores?wt=json&indexInfo=false&_=...

当我看到其他资源时,solr得到正确的URL:

http://{url}/MySolr/js/scripts/segments.js?_=5.5.0

任何想法?

这个过程将不起作用,因为这个json可能是绝对路径指定的。 在这种情况下,Solr不知道你的映射。 如果您想更改上下文路径,则需要在Jetty上更改此配置。 这样solr将开始使用新的上下文。 第一步是创建一个指向solr目录的符号链接MySolr (默认位于$SOLR_INSTALL_DIR/server/ )。 现在将Jetty配置文件$SOLR_INSTALL_DIR/server/contexts/solr-jetty-context.xml更改为指向新的上下文路径,如下所示:

 <Configure class="org.eclipse.jetty.webapp.WebAppContext"> <Set name="contextPath"><Property name="hostContext" default="/MySolr"/></Set> <Set name="war"><Property name="jetty.base"/>/solr-webapp/webapp</Set> <Set name="defaultsDescriptor"><Property name="jetty.base"/>/etc/webdefault.xml</Set> <Set name="extractWAR">false</Set> </Configure> 

现在只需重新启动Solr即可使用新的基本上下文路径进行访问。