SolrTemplate 和 SolrClient 有什么区别?
What is the difference between SolrTemplate and SolrClient?
我正在记录我在 solr apache 的 Spring 数据教程之后编写的代码,我意识到我不知道 solrTemplate
和 [=12= 之间的区别] ?
我正在记录以下代码:
@Configuration
@EnableSolrRepositories(basePackages = {"com.anouar.solr.nomenclaturespringdatasolr.repository",
"com.anouar.solr.nomenclaturespringdatasolr.dataImportHandler"},
namedQueriesLocation = "classpath:solr-named-queries.properties")
public class SolrConfig {
@Value("${spring.data.solr.host}")
String solrURL;
/**
* returns the bean that establishes the connection with Solr through port 8983
*
* @return SolrClient
*
* **/
@Bean
public SolrClient solrClient() {
return new HttpSolrClient.Builder(solrURL).build();
}
/**
*
* @param client the bean that is connected to Solr through port 8983
*
* **/
@Bean
public SolrTemplate solrTemplate(SolrClient client) throws Exception {
return new SolrTemplate(client);
}
}
以下是 SolrClient
的 apache 文档中的描述
Abstraction through which all communication with a Solr server may be routed
这意味着您所有的 solr 调用都将通过 solrClient 进行路由,因此我们需要将 solr 服务器地址、端口(也很少有其他)配置为 solrClient
。
其中 solrTemplate
用于查询、计数等 solr 操作。
solrTemplate
将使用 solrClient
这就是为什么在配置 solrTemplate
时, solrClient
被传递。
我正在记录我在 solr apache 的 Spring 数据教程之后编写的代码,我意识到我不知道 solrTemplate
和 [=12= 之间的区别] ?
我正在记录以下代码:
@Configuration
@EnableSolrRepositories(basePackages = {"com.anouar.solr.nomenclaturespringdatasolr.repository",
"com.anouar.solr.nomenclaturespringdatasolr.dataImportHandler"},
namedQueriesLocation = "classpath:solr-named-queries.properties")
public class SolrConfig {
@Value("${spring.data.solr.host}")
String solrURL;
/**
* returns the bean that establishes the connection with Solr through port 8983
*
* @return SolrClient
*
* **/
@Bean
public SolrClient solrClient() {
return new HttpSolrClient.Builder(solrURL).build();
}
/**
*
* @param client the bean that is connected to Solr through port 8983
*
* **/
@Bean
public SolrTemplate solrTemplate(SolrClient client) throws Exception {
return new SolrTemplate(client);
}
}
以下是 SolrClient
Abstraction through which all communication with a Solr server may be routed
这意味着您所有的 solr 调用都将通过 solrClient 进行路由,因此我们需要将 solr 服务器地址、端口(也很少有其他)配置为 solrClient
。
其中 solrTemplate
用于查询、计数等 solr 操作。
solrTemplate
将使用 solrClient
这就是为什么在配置 solrTemplate
时, solrClient
被传递。