Erstellen oder aktualisieren Sie das Mapping in elasticsearch
Ich bin neu bei Elasticsearch und arbeite derzeit an der Implementierung einesgeo_distance
Filter für die Suche. Ab sofort hat mein Index die folgende Zuordnung (ich habe einige Felder entfernt):
{
advert_index: {
mappings: {
advert_type: {
properties: {
__v: {
type: "long"
},
caption: {
type: "string"
},
category: {
type: "string"
},
**location: {
type: "long"
},**
}
}
}
}
Das Feld "geo_distance" wird im Feld "location" implementiert. Eine Beispielinstanz sieht folgendermaßen aus:
"location": [
71,
60
],
Das heißt ist im geoJSON-Format[lon, lat]
.
Ich verstehe, dass ich meinen Index aktualisieren muss, damit das Standortfeld vom Typ istgeo_point
, wie in der Dokumentation beschrieben (Mapping-Geo-Punkt). Es scheint, als müsste ich den Index löschen und einen neuen erstellen, aber ich kann das nicht.
Bin ich auf dem richtigen Weg? Ich würde mich sehr freuen, wenn mir jemand dabei helfen könnte, einen neuen Index zu erstellen oder meinen vorhandenen Index mit dem richtigen Datentyp zu aktualisieren.
Danke vielmals!