2016-07-03 6 views
0

Ich versuche Kibana zu bekommen, um meine Standortinformationen als geo_point zu sehen. Ich bin über Mapping gelaufen und wie es geht, aber ich kann es nicht herausfinden. Die Daten sieht wie folgt in mongodb:MongoDB Elasticsearch Mapping zu Geopoint

{ "_id" : "3", "loc" : "[-122.0574, 37.41919999999999]", "fs" : "Clean", "name" : "www.googleapis.com", "timestamp" : "2016-07-02T21:02:53.623Z", "destination" : "192.168.79.136", "source" : "216.58.212.138", "vt" : "0" } 

Wie würde ich die Werte zuordnen, die in der Taste „loc“ als geo_point gespeichert sind?

Antwort

0

In MongoDB ist der erste Wert der Längengrad und der nächste der Breitengrad. Sie können einen Geo-Point-Datentyp zu Ihrem Elasticsearch-Mapping hinzufügen.

PUT my_index 
{ 
    "mappings": { 
    "my_type": { 
     "properties": { 
     "loc": { 
      "type": "geo_point" 
     } 
     } 
    } 
    } 
} 

Und wenn Sie Daten hinzufügen,

PUT my_index/my_type/3 
{ 
    "loc": { 
    "lat": 37.41919999999999, 
    "lon": -122.0574 
    } 
} 

Siehe this

+0

Vielen Dank für Ihre Antworten. Ich habe das Mapping gemacht, das du auch gesagt hast, hat nicht funktioniert. Ich importiere jedoch Daten von MongoDB nach Elasticsearch, also drücke ich nicht manuell 1 Datensatz mit dem PUT-Befehl, den Sie angegeben haben. Ich löste das Problem jedoch, indem ich es als String anstelle einer Liste sendete. Nochmals vielen Dank für die Antwort. – Nerotix