Мне нужно сопоставить широту и долготу географической точки. Я транслирую данные с веб-сайта каждые 10 секунд. Я получаю только первое вхождение позиции из json. Я сделал карту. и когда я запускаю свой код, данные передаются в потоковом режиме, но я не вижу сопоставления в Kibana.
Вот мой код. es = Elasticsearch ('http://ip: порт ', тайм-аут = 600)
settings = { "settings": {
"number_of_shards":1
},
"mappings" : {
"properties":{
"geo": {
"properties": {
"location":{
"type": "geo_point"
}
}
}
} } }
es.indices.create(index = "myindex", ignore = 400, body=settings)
def data_collect():
data = requests.get(url = URL).json()
del data["positions"][1]
positions = data['positions']
if "satlatitude" in positions and "satlongitude" in positions:
data['positions']['geo'] = { 'location':
str(positions['satlatitude'])+","+str(positions['satlongitude'])}
es.index(index='myindex',doc_type='mydoc',body=data)
schedule.every(10).seconds.do( data_collect)
while True:
schedule.run_pending()
time.sleep(1)
Результаты GET Satellitepositions / _mapping, как показано ниже:
{
"satellitepositions": {
"mappings": {
"satelitepos": {
"properties": {
"info": {
"properties": {
"satid": {
"type": "long"
},
"satname": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"transactionscount": {
"type": "long"
}
}
},
"positions": {
"properties": {
"azimuth": {
"type": "float"
},
"dec": {
"type": "float"
},
"eclipsed": {
"type": "boolean"
},
"elevation": {
"type": "float"
},
"ra": {
"type": "float"
},
"sataltitude": {
"type": "float"
},
"satlatitude": {
"type": "float"
},
"satlongitude": {
"type": "float"
},
"timestamp": {
"type": "long"
}
}
}
}
}
}
}
}
Результаты позиций спутников GET, как показано ниже:
{
"satellitepositions": {
"aliases": {},
"mappings": {
"satelitepos": {
"properties": {
"info": {
"properties": {
"satid": {
"type": "long"
},
"satname": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"transactionscount": {
"type": "long"
}
}
},
"positions": {
"properties": {
"azimuth": {
"type": "float"
},
"dec": {
"type": "float"
},
"eclipsed": {
"type": "boolean"
},
"elevation": {
"type": "float"
},
"ra": {
"type": "float"
},
"sataltitude": {
"type": "float"
},
"satlatitude": {
"type": "float"
},
"satlongitude": {
"type": "float"
},
"timestamp": {
"type": "long"
}
}
}
}
}
},
"settings": {
"index": {
"creation_date": "1590738791943",
"number_of_shards": "5",
"number_of_replicas": "1",
"uuid": "HLstIPiXQcyJC5_laowxNQ",
"version": {
"created": "6040399"
},
"provided_name": "satellitepositions"
}
}
}
}