如何在从solr 4.4.0迁移到5.x.x时将搜索处理程序映射到solr根路径



在使用默认设置运行旧solr 4.4.0版本的情况下,可以同时使用以下两种方法查询默认集合:

/solr/collection1/select?q=*%3A*
/solr/select?q=*%3A* 

使用solr 5.x.x默认根路径

/solr/select?q=*%3A*

现在返回404。

新solr.xml中唯一的区别是这两行:

 <int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
 <int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>

solrconfig.xml和core.properties文件也基本相同。

是否可以以某种方式配置solr 5.x.x以将搜索处理程序映射到根路径?

要让它恢复工作,您需要一个默认的核心,因此我担心答案是:将不再与Solr 5.X一起工作。在Solr的Jira中有一些关于这个主题的讨论([1],[2](和问题。这项功能不再起作用并非偶然。显然开发人员不喜欢这个功能。

Solr 5.X的主要问题是Solr-4818 Refactorings to simplify loading, organization, sharing of cores, etc.。它的一个子任务的发音为Solr-5104 Remove Default Core,与Solr-4804 remove support for "defaultCore" and "DEFAULT_DEFAULT_CORE_NAME" in solr 5.x有关。

对于Solr 4.X,Solr 4.4有一个补丁,其中重新包含了旧的行为Solr-4803 fix support for DEFAULT_DEFAULT_CORE_NAME

但最后,如果您使用新的solr.xml格式,则会失去默认核心的功能。与Solr 5.0一样,不再支持传统格式,正如您在Solr 5 的更改日志中所读到的那样

  1. 不再支持"旧式"solr.xml格式,必须使用core.properties文件定义核心。看见https://cwiki.apache.org/confluence/display/solr/Format+的+solr.xml

而且,由于他们不喜欢在请求URL中没有核心名称的请求,因此没有其他功能或配置能力来恢复这一点。

最新更新