首页 > 解决方案 > elasticsearch中数组子字段的平均值

问题描述

我有大约 106 万个文档,格式如下:

"geometry" : {
    "type" : "Polygon",
    "coordinates" : [
        [
            [
            -0.3994018,
            43.547069
            ],
            [
            -0.3994509,
            43.5469605
            ],
            [
            -0.3995154,
            43.5469097
            ],
            [
            -0.3995879,
            43.5468503
            ],
            [
            -0.3996707,
            43.5467618
            ],
            [
            -0.3997065,
            43.546666
            ]
        ]
    ]
},
"properties" : {
    "commune" : "64063",
    "section" : "A",
    "numero" : "105",
    "id" : "640630000A0105",
    "contenance" : 12280,
    "prefixe" : "000",
    "updated" : "2014-06-18",
    "created" : "2013-11-14"
},
"id" : "640630000A0105",
"type" : "Feature"

我想请求geometry.coordinates[0][X][0](经度)的平均值在两个值之间并且geometry.coordinates[0][X][1](纬度)的所有记录) .

我怎么能问这个到 elasticsearch ?范围+平均值?

编辑:这是数据映射

{
  "parcelles" : {
    "mappings" : {
      "parcelle" : {
        "properties" : {
          "geometry" : {
            "properties" : {
              "coordinates" : {
                "type" : "float"
              },
              "type" : {
                "type" : "text",
                "fields" : {
                  "keyword" : {
                    "type" : "keyword",
                    "ignore_above" : 256
                  }
                }
              }
            }
          },
          "id" : {
            "type" : "text",
            "fields" : {
              "keyword" : {
                "type" : "keyword",
                "ignore_above" : 256
              }
            }
          },
          "properties" : {
            "properties" : {
              "commune" : {
                "type" : "text",
                "fields" : {
                  "keyword" : {
                    "type" : "keyword",
                    "ignore_above" : 256
                  }
                }
              },
              "contenance" : {
                "type" : "long"
              },
              "created" : {
                "type" : "date"
              },
              "id" : {
                "type" : "text",
                "fields" : {
                  "keyword" : {
                    "type" : "keyword",
                    "ignore_above" : 256
                  }
                }
              },
              "numero" : {
                "type" : "text",
                "fields" : {
                  "keyword" : {
                    "type" : "keyword",
                    "ignore_above" : 256
                  }
                }
              },
              "prefixe" : {
                "type" : "text",
                "fields" : {
                  "keyword" : {
                    "type" : "keyword",
                    "ignore_above" : 256
                  }
                }
              },
              "section" : {
                "type" : "text",
                "fields" : {
                  "keyword" : {
                    "type" : "keyword",
                    "ignore_above" : 256
                  }
                }
              },
              "updated" : {
                "type" : "date"
              }
            }
          },
          "type" : {
            "type" : "text",
            "fields" : {
              "keyword" : {
                "type" : "keyword",
                "ignore_above" : 256
              }
            }
          }
        }
      }
    }
  }
}

我对弹性很陌生,所以我没有发现一些明显错误所需的所有知识。

谢谢

标签: elasticsearch

解决方案


推荐阅读