Bonjour,
J'ai un fichier csv que je souhaites traiter avec logstash avec des infos du type : numéro,adresse,coord x, coord y .
Pour la partie parsing dans logstash : aucun problème je récupère bien toutes mes infos. Suite à ça je créé un field location pour pouvoir avoir un field assimilable à un geo_point:
convert => {
"x" => "float"
"y" => "float"
}
add_field => {"location" => "%{x}"}
add_field => {"location" => "%{y}"}
convert => {
"location" => "float"
}
Par la suite j'envoie mes données dans elastic avec le mapping suivant:
{
"properties": {
"Adresse": {
"type": "keyword"
},
"Pays": {
"type": "keyword"
},
"Type": {
"type": "keyword"
},
"x": {
"type": "long"
},
"y": {
"type": "long"
},
"location": {
"type": "geo_point"
},
"Code Postal": {
"type": "keyword"
},
"Correspondant": {
"type": "keyword"
},
"timestamp": {
"type": "date"
},
"Ville": {
"type": "keyword"
}
}
}
Pour les données contenant les field x et y ( certaines n'ont pas ces champs car pas d'infos pour cette personne) j'obtiens le message suivant:
[2020-02-12T08:19:18,201][WARN ][logstash.outputs.elasticsearch][main] Could not index event to Elasticsearch. {:status=>400, :action=>["index", {:_id=>nil, :_index=>"squid-sadoc", :_type=>"_doc", :routing=>nil}, #<LogStash::Event:0x33fd37bd>], :response=>{"index"=>{"_index"=>"squid-sadoc", "_type"=>"_doc", "_id"=>"-stEOHABEl3EnDY7MDk_", "status"=>400, "error"=>{"type"=>"mapper_parsing_exception", "reason"=>"failed to parse field [location] of type [geo_point]", "caused_by"=>{"type"=>"parse_exception", "reason"=>"unsupported symbol [.] in geohash [1.4180062632087487]", "caused_by"=>{"type"=>"illegal_argument_exception", "reason"=>"unsupported symbol [.] in geohash [1.4180062632087487]"}}}}}}
Ce qui est intéressant ( si change le type du champ location en text pour ne pas avoir de soucis) , c'est qu'il n'y a pas le même problème pour les fields x et y ( ils sont bien enregistrés comme des nombre ).
Pour expliquer le contexte, les coordonnées dans le csv sont exprimées au format lambert donc avec un script python je les exprime au format wgs84 engendrant des float de cette taille : 1.4180062632087487 ( je le précise car je ne sais pas si cela peut être la cause )
Je vous remercie d'avance pour toute réponse apportée.