Bonjour,
j'ai une collection mongodb contenant des documents dont un des objets est un array de coordonnées.
voici un extract de mon mapping template :
{
"_doc": {
"_meta": {},
"_source": {},
"properties": {
"distance": {
"type": "long"
},
"departure_city": {
"type": "text",
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
}
},
"arrival_in": {
"ignore_malformed": true,
"type": "geo_point",
"ignore_z_value": true
},
...
Voici ma config logstash :
# config pour intégrer des données mongodb dans ES
input{
mongodb {
uri => 'mongodb://localhost:27017/trips'
placeholder_db_dir => 'C:\datadb\logstash-mongodb'
placeholder_db_name => 'logstash_sqlite.db'
collection => 'trip'
batch_size => 5000
}
}
filter{
mutate {
copy => { "_id" => "[@metadata][_id]"}
remove_field => ["_id"]
}
}
output{
elasticsearch {
manage_template => "false"
#document_type => "stop"
#template_overwrite => "true"
template_name=>"trip-template"
hosts => ["localhost:9200"]
index => "trip-3-%{+YYYY.MM.dd}"
}
stdout { codec => rubydebug }
}
Voici un exemple de document mongodb à indexer :
{
"_id" : ObjectId("5e89cca6bf8ce1de0e13fa19"),
"departure_at" : ISODate("2019-03-18T14:27:46.000Z"),
"departure_place" : null,
"departure_city" : "Tina",
"distance" : 119,
"duration" : 13231,
"fuel_consumption" : null,
"arrival_at" : ISODate("2019-03-18T18:08:17.000Z"),
"arrival_in" : [
10.1039266666667,
33.889845
],
"arrival_place" : null,
"arrival_city" : "Gabes Medina"
}
Je veux que Elasticsearch reconnaisse l'array "arrival_in" en tant geo_point provenant d'un array (je sais que lon et lat sont inversés ici).
Résultat obtenu dans l'index : Je ne retrouve pas "arrival_in" ni ses valeurs.
Merci d'avance.
Jalil