嵌套对象中的脚本字段特别是geo_shapes

时间:2019-10-16 08:25:08

标签: elasticsearch

我的文档映射的一部分与下面的映射相同

       "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

我假设这是因为该字段是嵌套字段(它在字段中有一些{geo} points,并且其中的任何一个都匹配搜索,但是由于它嵌套了路径{ {1}}很明显是错误的,它必须类似于locations.point(对于第11个而言,这取决于查询中匹配项的上下文)。

那么,有人知道正确执行此操作的方法吗?我可以告诉脚本一个特殊的运算符,以便它知道它需要从字段中查看匹配的locations.point[10]吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

事实证明,实际上geo_shape不可能做到这一点