Comment envoyer elasticsearch multi demande de recherche de Facteur?
Je suis en train d'envoyer elasticserach multi demande de recherche via le postier comme ci-dessous:
POST - http://localhost:9200/_msearch
content-type : x-www-form-urlencoded
body:
{"index":"accounts"}
{"query":{"bool":{"should":[{"match":{"owner.first_name":"Creeple"}}]}}}
Cependant, j'obtiens le message d'erreur suivant:
{
"error": {
"root_cause": [
{
"type": "parse_exception",
"reason": "Failed to derive xcontent"
}
],
"type": "parse_exception",
"reason": "Failed to derive xcontent"
},
"status": 400
}
Remarque que si je effectuer la même demande par l'intermédiaire de mon jeu code, les résultats sont avec succès par les cheveux.
WS.url("localhost:9200/_msearch").withHeaders("Content-type" -> "application/x-www-form-urlencoded").post(query)
Pas sûr si c'est le problème, mais msearch est d'OBTENIR et de ne pas POSTER
OriginalL'auteur Ra Ka | 2017-08-01
Vous devez vous connecter pour publier un commentaire.
Trois choses sont importantes ici:
Corps:
En-tête:
Curl version:
content-type
àapplication/x-ndjson
.Merci, merci, merci!!!! La dernière ligne vide sur le bas du corps est totalement crucial. 🙂
mais pourquoi ne u utiliser des POst comme tous exemple utiliser les OBTENIR ???
veuillez vérifier officiel docs sur Corps de la Requête de Recherche, surtout de cette instruction: HTTP GET et POST HTTP peut être utilisé pour exécuter la recherche de corps. Depuis pas tous les clients prennent en charge les OBTENIR avec le corps, la POSTE est autorisé. Personnellement, quand j'ai envoyer la demande avec le corps du message, je préfère utiliser la POSTE.
OriginalL'auteur Joanna
Vous pouvez également faire votre demande le corps, soit le format json et de changer votre Type de Contenu application/json, veuillez jeter un oeil ci-dessous
OriginalL'auteur Peter.Chu