2016-05-27 10 views
0

Ich bin neu bei SOLR, aber ich habe die SOLR Cloud eingerichtet und einen Core "participant_dev" eingerichtet. Wir haben mehrere Umgebungen, nämlich., CI, Dev, QA, UAT und Prod.SOLR Konfiguration für mehrere Umgebungen

Für den Single-Core ist die Konfiguration einfach genug. Im Frühlings-Boot Anwendung yaml hinzufügen url die solr Server wie so

spring: 
    data: 
    solr: 
     host: server url 

Die solr Dokument mit

@SolrDocument(solrCoreName = "participant_dev") 
public class Solr Participant{ 

    .... 
} 

kommentiert wird funktioniert Dies aber jetzt ist die Voraussetzung ist, wie die Anwendung bewegt sich in verschiedenen Umgebungen I müssen Solr-Kerne wie 'Teilnehmer_ci', 'Teilnehmer_qa', 'Teilnehmer_UAT' und so weiter einrichten. Können Sie beraten, wie der Solr-Core-Name basierend auf der Umgebung geändert wird? So dass, In CI,

@SolrDocument(solrCoreName = "participant_ci") 
public class Solr Participant{ 

    .... 
} 

In QA, 

@SolrDocument(solrCoreName = "participant_qa") 
public class Solr Participant{ 

    .... 
} 

Antwort

0

Sie durch die Schaffung von Solr Client-Bean in Anwendungsklasse und Entfernen @SolrDocument Anmerkung festlegen. Also wäre die Standard-Sammlung wie angegeben. Die andere Option wäre, ein benutzerdefiniertes Repository zu erstellen, aber das würde viel unerwünschten Code hinzufügen.

+0

Vielen Dank für Ihre Antwort. Aber wie würde das funktionieren, wenn ich mehrere Sammlungen für die Anwendung hätte? – Ananth

+0

ist es eine Möglichkeit, zu tun @SolrDocument (solrCoreName = "$ {solrcore}") und solrcore von Immobilien-Datei lesen? – Ananth

+0

Ich habe das gleiche versucht, aber habe nichts gefunden .. Konnte einen Weg zur Definition Sammlungsname zur Laufzeit finden. – user1211

Verwandte Themen