2010-02-08 6 views
3

Pendant le développement, j'ai utilisé whoosh comme un backend, et maintenant je veux passer à solr. J'ai installé solr, modifié les paramètres, à HAYSTACK_SEARCH_ENGINE et HAYSTACK_SOLR_URL. Maintenant, lorsque j'essaie de mettre à jour ou reconstruire l'index, il échoue avec Failed to add documents to Solr: [Reason: None] .La haystack de Django ne s'ajoute pas à l'index Solr. [Fonctionne avec whoosh, échoue avec Solr]

Toutes les recherches sont également erronées avec 0 résultats retournés pour toutes les requêtes .. Ce travail si je change whoosh. Cependant, j'ai un ensemble d'index RealTimeSearch , et pendant la création de modèle je ne reçois aucun avertissement au sujet de étant capable d'écrire à l'index de recherche. (D'où je suppose que les données sont en cours d'écriture correctement à l'index Solr.

Je peux voir que solr est en cours d'exécution en allant directement au port où solr a commencé.

Répondre

11

Cette erreur se produit généralement lorsque votre schéma. fichier XML est mal configuré.

vous pouvez utiliser python manage.py build_solr_schema > schema.xml pour générer le schéma.

pour utiliser ont fait solr, vous placez généralement dans example/solr/conf/schema.xml

Enfin: regardez la sortie du journal de votre serveur Solr. Pendant le développement, je l'ai exécuté via java -jar start.jar et il imprime implicitement à mon écran. Sinon, vos journaux vont dans le répertoire example/logs.


En outre, vérifiez le HAYSTACK_SOLR_URL. Il ne devrait pas avoir de barre oblique.

+0

Cela se produit après que j'ai copié le fichier schema.xml dans example/solr/conf/schema.xml. Le résultat que je reçois sur 'rebuild_index' est http://dpaste.de/vOkU/ – agiliq

+0

On dirait aussi qu'il ne frappe même pas Solr car la console n'a pas de nouveaux logs – agiliq

+0

Oui, le 404 non trouvé suggère que l'URL est fausse . Double-vérifier votre HAYSTACK_SOLR_URL peut-être? La mine ressemble à: http: // localhost: 8983/solr – Koobz

4

J'avais cette erreur. La première raison était que je n'avais pas reconstruit le fichier schema.xml, mais il y a quelque chose de plus ... Après avoir reconstruit le fichier schema.xml, vous devez redémarrer Solr. En faisant cela, Solr reconnaîtra les changements de schéma et connaîtra les nouveaux champs.

+0

Merci, cela a aidé! –

+0

comment redémarrez-vous solr ?? – Armance

+0

@astrocybernaute cela dépend. Si vous l'exécutez sur Tomcat, vous pouvez redémarrer Tomcat lui-même en faisant 'sudo service tomcat7 restart' ou si vous utilisez le gestionnaire Tomcat, vous pouvez vous connecter (http: // : 8000/manager/html) et le redémarrer Là. Si vous exécutez simplement solr en utilisant 'java -jar start.jar' ou quelque chose comme ça, je vous recommande d'arrêter les exécutions (CRTL-c) et de le redémarrer. – Harph

Questions connexes