Я новичок в Elasticsearch и в настоящее время работаю над реализацией фильтра geo_distance
для поиска. На данный момент мой индекс имеет следующее отображение (я удалил несколько полей):
{
advert_index: {
mappings: {
advert_type: {
properties: {
__v: {
type: "long"
},
caption: {
type: "string"
},
category: {
type: "string"
},
**location: {
type: "long"
},**
}
}
}
}
Поле geo_distance будет реализовано в поле местоположения, где пример экземпляра выглядит следующим образом:
"location": [
71,
60
],
т.е. находится в формате geoJSON [lon, lat]
.
Я понимаю, что мне нужно будет обновить свой индекс, чтобы поле местоположения имело тип geo_point
, как описано в документации (mapping-geo-point). Кажется, я должен отбросить индекс и создать новый, но я не могу этого сделать.
Я на правильном пути? Я был бы очень признателен, если бы кто-нибудь мог помочь мне в том, как я могу создать новый индекс или обновить существующий с правильным типом данных.
Большое спасибо!