Я пытаюсь получить список записей, пересекающих круг.elasticsearch geo_shape запрос return no results
отображений: У меня есть geo_point и geo_shape, но я имею в виду на geo_shape исключительно
{
"mappings": {
"poi": {
"properties": {
"id": {
"type": "string",
"index": "not_analyzed"
},
"type": {
"type": "string",
"index": "not_analyzed"
},
"name": {
"type": "string",
"analyzer": "whitespace"
},
"pin": {
"type": "geo_point"
},
"geometry": {
"type": "geo_shape",
"tree": "quadtree",
"precision": "1m"
},
"extras": {
"type": "object"
}
}
}
}
}
запись (первый из списка, не обязательно Matching)
{
"id": 416824728,
"pin": [
11.2418666,
46.4718564
],
"geometry": {
"type": "Point",
"coordinates": [
11.2418666,
46.4718564
]
},
"extras": {
"capacity": "5",
"amenity": "parking",
"fee": "no"
},
"name": "",
"type": "poi"
}
, то запрос :
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"geo_shape": {
"geometry": {
"shape": {
"type": "circle",
"radius": "100km",
"coordinates": [
11,
46
]
}
}
}
}
}
}
}
Любое предложение?
Благодаря
Я создал индекс/сопоставление и добавил образец документа, который вы поделили, и ваш поисковый запрос полностью возвращает этот документ. Можете ли вы рассказать, как вы выполняете запрос (какой клиент, какой метод HTTP, какой URL-адрес, ...)? – Val
Да, у меня были те же самые результаты, которые я пытаюсь сделать сам. См. Мой ответ (На самом деле, у меня есть перекресток, размещенный здесь https://discuss.elastic.co/t/geo-shape-query-return-empty-set/ 33860) Спасибо – lcapra