J'écris une application en utilisant Datastax Enterprise et DSE Search (SolR on Cassandra).Datastax DSE Search: Comment publier solrconfig.xml et schema.xml en utilisant java?
Mon problème est que je dois générer schema.xml et envoyer à SolR à la fois solrconfig.xml et schema.xml en utilisant Java, dynamiquement. Ne pas utiliser curl.
J'ai essayé de le faire en utilisant Commons HttpComponents mais le fichier solrconfig.xml inséré dans la table cassandra n'est pas correct. Http données relatives est inséré avant le début du fichier XML, comme ceci:
��:
solr_adminsolr_resourcesresource_value��--9NDJNu2AW4jtIyX6ggQAgEqI3FXp3JpDZ6
Content-Disposition: form-data; name="solrconfig.xml"; filename="solrconfig.xml"
Content-Type: application/xml; charset=ISO-8859-1
Content-Transfer-Encoding: binary
<config>
<!-- In all configuration below, a prefix of "solr." for class names
is an alias that causes solr to search appropriate packages,
including org.apache.solr.(search|update|request|core|analysis)
[Continued...]
Et bien sûr SolR échoue quand il essaie de lire cette configuration.
Est-ce que quelqu'un sait comment envoyer ces deux fichiers par programme de java à SolR correctement?
Merci d'avance pour vos réponses.
L'utilisation de HttpClient ne fonctionne pas (lire depuis le blob cassandra). L'utilisation de SolrJ pour créer le core ne fonctionne pas (se plaindre des fichiers manquants). Une requête ContentStream échoue avec une erreur 500 HttpSolrServer server = new HttpSolrServer (solrUrl); ContentStreamUpdateRequest req = new ContentStreamUpdateRequest ("/ resources /" + solrKeyspace + "." + DatasetName + "/"); req.addContentStream (nouveau ContentStreamBase.FileStream (nouveau fichier ("solrconfig.xml"))); requête serveur (req); server.commit(); retourné état non ok: 500, message: Erreur interne du serveur – fesnault