2010-11-28 14 views
5

J'essaie de faire une soumission SolrDocument simple avec Java comme celle détaillée dans le Wiki Solrj. Toutefois, la soumission échoue toujours et retourne ceci:Bad Request Error Lorsque vous tentez d'ajouter des documents au serveur via Solrj

org.apache.solr.common.SolrException: Bad Request 
Bad Request 
request: http://address:port/solr/update?wt=xml&version=2.2 

Je ne lance pas dans des problèmes lors de l'interrogation du serveur Solr par Solrj, donc je ne pense pas qu'il y ait des problèmes avec l'adresse ou de la connexion. Je m'excuse si c'est trop vague, mais c'est tout ce que j'ai à faire. Merci.

+1

Vérifiez le journal Solr pour toute exception, et l'afficher ici. –

+0

Comme l'a dit Mauricio, le journal Solr vous dira probablement ce qui se passe. Assurez-vous également que votre document Solr est valide par rapport à votre schéma, par exemple s'il possède un champ d'ID ou si vous n'envoyez pas plusieurs valeurs pour un champ qui ne peut pas les gérer. –

Répondre

8

Je rencontre ce problème avant, mon problème est que le document n'est pas valide avec les champs définis dans schema.xml. Donc, faites correspondre les champs et les types, et le problème sera corrigé.

2

Certains de vos champs peuvent être erronés selon votre fichier schema.xml. En plus, cherchez s'il y a plus d'un fichier schema.xml dans le classpath que votre serveur pourrait charger le mauvais avant le bon.

0

J'ai eu le même problème, l'exception dit que quelque chose est mauvais avec schema.xml mais ne dit pas quelle est la cause première. Vérifiez votre journal de serveur (pour moi c'est le journal de tomcat parce que je cours le solr avec tomcat), il y a des exceptions consignées du côté de solr.

Par exemple ma question est la suivante:

SEVERE: org.apache.solr.common.SolrException: ERROR: [doc=XXXDOCURL] multiple values encountered for non multiValued field XXXMYFILED: 

fichiers pour vérifier:

  • $ SOLR_HOME/$ CORE_HOME/conf/schema.xml
  • $ NUTCH_HOME/exécution/local (ou déployer) /conf/solr-mapping.xml

Eh bien, le problème n'était pas le fichier schema.xml, mais mon code. J'ai essayé deux fois nutchDocument.add (XXXMYFIELD, "une certaine valeur") donc pour solr cela ressemble à plusieurs valeurs.

0

Si possible, essayez de vous connecter en utilisant CloudSolrServer au lieu de HttpSolrServer afin de pouvoir déterminer ce qui ne va pas avec moins d'efforts. J'ai trouvé que ce dernier vous donnera cette exception qui ne contient aucune indication quant à la façon dont la demande était "mauvaise", alors que la première aura plus de détails.

HttpSolrServer exception pour manquante dans le champ f requis:

org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: Bad Request

exception CloudSolrServer pour la même chose:

org.apache.solr.client.solrj.impl.CloudSolrServer$RouteException: [doc=1] missing required field: f