我可以针对较低版本(5.xx或4.xx)的solr服务器使用solrj(版本-6.6.3)客户端库吗?

时间:2019-05-28 09:41:09

标签: java apache solr solrj

我当前在我的java项目中使用以下solr依赖项:

   <dependency>
        <groupId>org.apache.solr</groupId>
        <artifactId>solr-solrj</artifactId>
        <version>6.6.3</version>
        <scope>compile</scope>
    </dependency>

我的solr服务器版本为4.xx,我需要升级我的solr服务器版本还是向后兼容?

1 个答案:

答案 0 :(得分:0)

集合状态的存储方式发生了重大变化-在较早的Solr版本中,每个集合的云状态都存储在Zookeeper根目录下的一个文件中,但后来又更改为保留每个集合的状态收集到自己的状态文件中。

SolrJ的最新版本可能希望具有每个集合状态而不是全局状态,因此,如果您使用云模式,则应使用与Solr相同的版本的SolrJ。

对于将标准的http接口用于单核,应该没有太大的区别(例如,我不认为javabin格式已更改),只是仅在比4更高的Solr版本中支持的功能。

但是接下来的主要问题是;如果您实际上是使用Maven正确管理依赖关系;为什么不使用实际为您的Solr版本设计的SolrJ库,而不是在奇怪的情况下冒任何可能的不兼容的风险呢?我将使用与Solr使用的相同版本的SolrJ。