Я новичок в Elasticsearch (использую версию 6.2.4 ), пробую запросы Point in Polygon (geo_shape)
Это мое отображение индекса
{
"check": {
"mappings": {
"doc": {
"properties": {
"location": {
"type": "geo_shape"
}
}
}
}
}
}
У меня есть только один документ в индексе. location описывает контур в 19 парах широты и долготы
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1,
"hits": [
{
"_index": "check",
"_type": "doc",
"_id": "1",
"_score": 1,
"_source": {
"location": "POLYGON((-121.3606 38.118,-121.2137 38.097,-121.1175 38.007,-121.0795 37.906,-121.171 37.805,-121.171 37.752,-121.1939 37.702,-121.2361 37.661,-121.2975 37.641,-121.3606 37.638,-121.4186 37.652,-121.466 37.679,-121.5154 37.707,-121.5501 37.752,-121.5546 37.805,-121.6475 37.909,-121.605 38.008,-121.5078 38.098,-121.3606 38.118))"
}
}
]
}
}
Я выполняю этот запрос
GET check/doc/_search
{
"query": {
"geo_shape": {
"location": {
"relation": "intersects",
"shape": {
"type": "point",
"coordinates": [
-121.935791, 37.702152
]
}
}
}
}
}
Запрос возвращает ноль документов.Я пробовал с обоими отношениями , поскольку пересекает , а содержит , но результаты равны нулю.
Если я рисую контур местоположения на Картах Google, я четко вижу, что точка запроса (long: -121.935791, широта: 37.702152) четко находится в контуре местоположения