最近想把手头的Solr4换成Solr8,就遇到各种各样的问题。因为Solrj4和Solrj8创建链接用的类不同,所以Spring配置文件也要修改,本想偷懒网上找个Solrj7的配置用,结果看了俩:
<bean id="solr" class="org.apache.solr.client.solrj.impl.HttpSolrClient">
<constructor-arg name="builder" value="builder" />
<property name="baseURL" value="${SOLR.URL}" />
</bean>
咋回事啊?为啥给属性“builder”一个字符串“builder”?算了再看看别的吧
<bean id="httpSolrClient" class="org.apache.solr.client.solrj.impl.HttpSolrClient">
<constructor-arg name="builder" value="${SOLR.URL}"/>
</bean>
下面这个原文还附了一段源码分析,大概是这样:
构造方法使用HttpSolrClient(Builder builder),builder是作为一个参数传入的Builder对象。再看Builder,Builder(String baseSolrUrl),“baseSolrUrl”就是个字符串。原文作者称是可以使用的,但是看起来总觉得很奇怪,最后我还是去翻了源码。

本文介绍了在将Solr4升级到Solr8时,由于Solrj版本变化导致的Spring配置文件调整。重点讲解了如何正确配置HttpSolrClient,包括对Builder类的理解和使用,以及两种不同的baseSolrUrl配置方式,提供了正确的Spring XML配置示例。

5967

被折叠的 条评论
为什么被折叠?



