Solr (4.4+) solrconfig.xml emplacement lors de la création de noyaux
Je suis en train de configurer un multi core serveur solr pour notre webapplication, mais je vais avoir de la difficulté à créer de nouveaux par la coreadmin service.
Je suis en utilisant Solr-4.3 4.4) car couru dans des problèmes de persistance de l'cœurs solr.xml (datadir n'était pas conservé) Donc je suis en utilisant la nouvelle Solr.xml configuration 4.4 et au-delà
Mon solr.xml ressemble actuellement:
<solr>
<str name="coreRootDirectory">default-instance/cores/</str>
</solr>
solrconfig.xml est situé à (solrhome)/default-instance/conf/solrconfig.xml
Lorsque vous essayez de créer un noyau avec l'url
http:/example.org/solr/admin/cores?action=CREATE&name=test-name&schema=schema-test.xml&loadOnStartup=false
me donne l'erreur:
Erreur CREATEing SolrCore 'test-name': Impossible de créer la base: le test-nom
Causés par: impossible de trouver la ressource 'solrconfig.xml" dans le classpath ou
'par défaut de l'instance/carottes/test-nom/conf/', cwd=/var/lib/tomcat7
La suite semble fonctionner:
http:/example.org/solr/admin/cores?action=CREATE&name=test-name&schema=schema-test.xml&loadOnStartup=false&config=/absolute/file/path/to/solrconfig.xml
Le problème est que cela ne semble fonctionner avec un chemin absolu (ou peut-être un chemin relatif à partir de /var/lib/tomcat7) qui n'est pas une solution viable.
Ce que je suis à la recherche d'un moyen pour placer solrconfig.xml de sorte qu'il peut être utilisé pour créer de nouveaux noyaux avec cette config (ou une façon de créer ces carottes à l'emplacement actuel).
Plus ou moins le même seront nécessaires pour les schémas
Vous devez vous connecter pour publier un commentaire.
Cela a fonctionné. A couru sur la ligne de commande et est visible dans la console d'administration:
solr créez -c (nom de base ou de la collection)
Voir README.txt pour plus d'info.
solr
utilisateurDans mon cas, j'ai profité de la De Base De La Découverte fonction de 4,4+, plutôt que de créer le noyau à l'aide de la gestion de l'interface web.
Cela signifie simplement que la copie de l'exemple
collection1
dossier de laexamples
répertoire (qui j'ai l'habitude de l'utiliser comme un point de départ).Ensuite, j'ai dû faire en sorte qu'il y est de base.propriétés à la racine de mon nouveau noyau avec
name=<new core name>
à l'intérieur. Solr automatiquement détecté le nouveau cœur et m'a permis de l'utiliser sans aucun problème.Ce qui permettrait d'éviter le désagrément d'avoir à copier
solrconfig.xml
etschema.xml
dans n'importe quel endroit spécial.J'ai eu le même problème:
solrconfig.xml
n'était pas dans le classpath. Je l'ai résolu par la copie de mon fichier de configuration des modèles dans le classpath.Alors j'ai pris un coup d'oeil à
http://localhost:8983/solr/#/~java-properties
à voir solrs classpath définition, et ensuite j'ai copié le modèle solrconfig.xml et schema.xml dans le dossierC:\servers\solr-4.4.0\example\resources
. En outre, j'ai copié tous les mots vides trucs là...Cette solution n'est pas entièrement satisfaisant, mais il fonctionne. L'ajout d'un autre chemin d'accès à la variable classpath doit fonctionner, trop. Je suis un peu étonné qu'aucune configuration par défaut pour les nouveaux noyaux peuvent être déclarés dans
solr.xml
Je vous recommande la nouvelle Config Fixe pour ce cas d'utilisation.
Si vous placez votre schema.xml et solrconfig.xml (et d'autres fichiers de configuration comme des mots vides, etc.) dans un répertoire
$SOLR_HOME/configsets/myConfig/conf
, vous pouvez créer une nouvelle base avec cette config en appelant le:http://solr/admin/cores?action=CREATE&name=mycore&instanceDir=my_instance&configSet=myConfig
Voir https://cwiki.apache.org/confluence/display/solr/Config+Jeux
Mais ils ne sont pas disponibles jusqu'à ce que Solr 4.8, voir https://issues.apache.org/jira/browse/SOLR-4478