更改Solr基本上下文路径

时间:2016-03-17 11:50:31

标签: apache solr jetty

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

用apache我做了一个

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

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

因此,当我加载{url} / MySolr时,Dashboard因为一个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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这个过程不起作用,因为这个json可能是用绝对路径指定的。在这种情况下,Solr不知道您的映射。如果要更改上下文路径,则需要在Jetty上更改此配置。这样solr就会开始使用新的上下文。 第一步是创建指向MySolr目录的符号链接solr(默认位于$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即可使用新的基本上下文路径进行访问。