В чем разница между SolrTemplate и SolrClient? - PullRequest
0 голосов
/ 24 апреля 2020

Я документировал свой код, который написал после нескольких уроков по данным Spring для solr apache, и понял, что не знаю разницы между solrTemplate и SolrClient?

я документировал следующий код:

@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);
   }
}

1 Ответ

3 голосов
/ 24 апреля 2020

Ниже приведено описание из apache документации для SolrClient

Abstraction through which all communication with a Solr server may be routed

, что означает, что все ваши вызовы solr будут маршрутизироваться через solrClient, поэтому нам нужно настроить адрес сервера solr, порт (несколько других также ) до solrClient.

, где solrTemplate для операций solr, таких как запрос, подсчет и т. д. c .. solrTemplate будет использовать solrClient, поэтому при настройке solrTemplate, solrClient прошло.

...