Часть моего сопоставления документов состоит из сопоставления ниже
"locations": {
"type": "nested",
"properties": {
"point": {
"type": "geo_shape",
"tree": "quadtree",
"precision": "100m"
}
}
}
Когда я пытаюсь выдать script_field
как часть запроса, Elasticsearch возвращает ошибку
failed to run inline script [doc['locations.point'].distanceInMiles(53.4791,-2.2441)] using lang [groovy]
По причине:
failed to find field data builder for field locations.point, and type geo_shape
Я предполагаю, что это потому, что поле является вложенным (в нем есть несколько (гео) points
внутриполе и поиск совпадает с любым из них, однако, поскольку он вложен, контекст пути locations.point
явно неверен, он должен быть чем-то вроде locations.point[10]
(для 11-го возможно - это зависит от контекстасоответствующий элемент в запросе).
Итак, кто-нибудь знает способ выполнить это должным образом? Есть ли специальный оператор, который я могу сказать сценарию, чтобы он знал, что ему нужно посмотреть на совпадающий point
с поля?
Заранее спасибо.