Поля скрипта во вложенных объектах конкретно geo_shapes - PullRequest
0 голосов
/ 16 октября 2019

Часть моего сопоставления документов состоит из сопоставления ниже

       "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с поля?

Заранее спасибо.

1 Ответ

0 голосов
/ 18 октября 2019

Оказывается, на самом деле это невозможно сделать с geo_shape х

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...