Existe-t-il une explication détaillée et complète pour la configuration des données de ressort avec solr en utilisant des référentiels avec prise en charge multicœur?Comment configurer Spring Data Solr avec des référentiels pour plusieurs cœurs
0
A
Répondre
4
La seule dépendance qui doivent être utilisées pour les données-printemps-solr est
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-solr</artifactId>
<version>1.5.2.RELEASE</version>
</dependency>
Il télécharge solrj dépendance et cela ne doit pas être surchargée avec les versions ultérieures de solrj. Il est toujours préférable d'utiliser HttpSolrServer sur EmbeddedSolrServer avec lequel nous allons travailler.
La classe de configuration devrait ressembler à ceci:
@Configuration
@EnableSolrRepositories(value = "com.package.",multicoreSupport = true)
public class SolrConfig
{
@Bean
public SolrServer solrServer() throws Exception
{
HttpSolrServerFactoryBean f = new HttpSolrServerFactoryBean();
f.setUrl("http://localhost:8983/solr");
f.afterPropertiesSet();
return f.getSolrServer();
}
@Bean
public SolrTemplate solrTemplate(SolrServer solrServer) throws Exception
{
return new SolrTemplate(solrServer());
}
}
L'entité document doit contenir des informations sur ce noyau, ils appartiennent à
@SolrDocument(solrCoreName = "core1")
public class Document1
{
@Id
@Field
private String id;
/**other attributes**/
}
L'autre document doit être
@SolrDocument(solrCoreName = "core2")
public class Document2
{
@Id
@Field
private String id;
/**other attributes**/
}
Maintenant, la meilleure partie est que vous avez déjà terminé. Il suffit de mettre en place du référentiel de la bonne vieille méthode fait le tour
public interface SolrCore1Repository extends SolrCrudRepository<Document1,String>
{
// optional code
}
l'autre repo est comme
public interface SolrCore2Repository extends SolrCrudRepository<Document2,String>
{
// optional code
}
Une fois solr est en cours d'exécution sur l'URL spécifiée et il a des champs selon le POJO, vous êtes terminé.