solr的访问路径一般都是http://host:port/solr/开头,但是如果我们有特殊的业务需求,特别是在solr4.x的时候是能够直接改变访问路径的,如果升级了solr,其他服务调用solr就需要修改相应的路径,很多时候线上环境是不允许的。 下面把ttp://host:port/solr/修改为ttp://host:port/search/ 修改solr访问路径,找到server/context下的solr-jetty-context.xml文件:
<Set name="contextPath"><Property name="hostContext" default="/solr"/></Set> <Set name="war"><Property name="jetty.base"/>/solr-webapp/web</Set> <Set name="defaultsDescriptor"><Property name="jetty.base"/>/etc/webdefault.xml</Set> <Set name="extractWAR">false</Set>修改为
<Set name="contextPath"><Property name="hostContext" default="/search"/></Set> <Set name="war"><Property name="jetty.base"/>/solr-webapp/web</Set> <Set name="defaultsDescriptor"><Property name="jetty.base"/>/etc/webdefault.xml</Set> <Set name="extractWAR">false</Set>solr留了一个坑,修改这里后不能够直接访问solrj管理界面,solrj里有一个地方把路径写死了,找到 service.js如下: 修改路径中的solr为search。 修改startsolrjetty.class中的路径为search,启动服务, 通过http://localhost:8983/search/访问就可以了。
ps:个人建议不到万不得已不要修改该路径,很容易引起问题,而且出现的问题还不太好找到。