elasticsearch - 嵌套对象中的脚本字段,特别是地理形状

标签 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,并且其中任何一个都与搜索匹配,但是由于嵌套了该字段,因此locations.point的上下文显然是错误的,因此需要类似于locations.point[10](可能是第11个-取决于查询中匹配项的上下文)。

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

提前致谢。

最佳答案

事实证明,实际上不可能使用geo_shape

关于elasticsearch - 嵌套对象中的脚本字段,特别是地理形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58408880/

相关文章:

search - 如何在Elasticsearch中使用边缘ngram索引数据,其中还包括空格?

elasticsearch - 由于以下原因,无法检索群集状态:没有配置的节点可用

elasticsearch - Elasticsearch _mapping API不会告诉我未分析哪些字段

node.js - 使用单个 firehose 将数据索引到多个索引

elasticsearch - 带有标准分析器和编号的Elasticsearch完成建议

java - Jest Elasticsearch 具有多个匹配字符串的查询构建器查询

elasticsearch - 匹配词干搜索中的查询内部-Elastic

elasticsearch - Logstash 标签层次结构

ruby-on-rails - 连接被拒绝 - 连接(2) "localhost"端口 9200 与 DigitalOcean

elasticsearch - 为什么我得到无法识别的参数:[查询]