Elasticsearch geo_shape query: Найти многоугольники, пересекающие / внутри данного круга - PullRequest
1 голос
/ 08 января 2020

ElasticSearch 7.5.1

Я пытаюсь найти все проиндексированные многоугольники / мультиполигоны, которые пересекаются или l ie внутри данного круга, а не внутри данного многоугольника. Моя форма индексируется как

"geometry": {
  "type": "geo_shape",
  "tree_levels": 16,
  "strategy": "recursive"
}

Мой текущий (многоугольный) запрос выглядит как

   "query": {
        "geo_shape": {
            "geometry": {
                "shape": {
                    "coordinates": [
                        [
                            [
                                130.12509,
                                1.20136
                            ],
                            [
                                130.69336,
                                -9.18887
                            ],
                            [
                                154.02832,
                                -12.72608
                            ],
                            [
                                163.52051,
                                -10.01213
                            ],
                            [
                                141.78762,
                                5.33949
                            ],
                            [
                                130.12509,
                                1.20136
                            ]
                        ]
                    ],
                    "type": "polygon",
                    "relation": "intersects"
                }
            }
        }
    }

Я бы предпочел предоставить запрос с "type": "circle", если возможно, например,

"query": {
    "geo_shape": {
        "geometry": {
            "shape": {
                "type": "circle",
                "radius" "5km",
                "coordinates":
                [
                    130.12509,
                    1.20136
                ],
                "relation": "within"
            }
        }
    }
}

Я знаю, поскольку разрывные изменения в кругах V6 больше не поддерживаются, но возможно ли это как-то или ES предлагает приближение полигонов для данного круга? Заранее спасибо

...