solr 1.4.1 solrj客户端与solr 3.6.2服务器?

时间:2015-04-01 21:03:10

标签: ubuntu-14.04 solr

我一直试图解决在尝试将我们的测试环境从12.04升级到14.04 ubuntu时开发的问题。在此之前,solr的Package存储库版本是1.4.1,它与我们的应用程序集成的1.4.1 solrj客户端相匹配。

将基本AMI更改为最新的14.04并运行我们的默认部署导致安装solr 3.6.2服务器。看来它接受我们的配置没有问题,但是当我们的客户尝试连接时,我们收到了不同的错误:

第一个是未知的自定义字段,我们追溯到我们的部署脚本,而不是将schema.xml和solrconfig.xml移动到/ etc / solr / conf /,而是将其保留在基本目录中。

我们更正了此问题,然后遇到以下问题: '例外:版本无效或数据不在' javabin'格式'

这是由solrj上的包装器生成的,但我会诚实地说我对Solr一无所知,这可能就在我们的最后。我已经让开发团队看了两个选项:

1)启用:' server.setParser(new XMLResponseParser());' 关于旧客户端向后兼容性的建议是什么。

2)将应用程序中的客户端更新为3.6.2 - 我对此的要求知之甚少。

我的退步是恢复到1.4.1,但它似乎自2011年以来没有被触及,这让我犹豫不决。

任何想法/建议都将不胜感激!

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为最好的选择是保持相同版本的Solr和Solrj。

我经常使用Solr 1.4.1,虽然正如你所说的,它的大部分都适用于没有任何问题的新版本,但实际上自1.4以来已经有很多改变。*

去年我做了同样的移植(从1.4.1到3.6.1)我可以确认第二种方式是正确的:你必须在客户代码中做的所有更改都是“正式的”非常非常快。

你可以做的任何解决方法是能够与不同的版本(Solrj和Solr之间)进行通信,正如单词所说,这只是一种“解决方法”,它可能会导致意外(隐藏)的副作用。

相关问题