ElasticSearch:找到最接近给定坐标点的geo_shape

时间:2017-11-06 10:54:25

标签: elasticsearch gis

我正在尝试使用ElasticSearch执行以下任务:
目标:找到最接近给定位置的路线

步骤:
 1.将一些从某个源到目的地的路线作为一组地理坐标,称为“路线”  2.找到到达给定坐标的最近路线
 3.在步骤2中获取路线上的最近点

请参阅说明地图截图: Index coordinates of route in step 1

- 卷曲请求步骤1:
a。

    curl -XPUT 'http://localhost:9200/routes' -d '{"mappings": {
     "route": {
       "properties": {
         "name": {
           "type": "string"
         },
         "location": {
          "type": "geo_shape"
        }
       }
     }
   }
 }'



curl -XPOST 'http://localhost:9200/routes/1' -d '{"name": "Indira Nagar", "path": {
     "type": "polygon",
     "coordinates": [
       [
         [
           77.643495,
           12.960354
         ],
         [
           77.643138,
           12.960391
        ],
         [
           77.642692,
           12.960435
         ],
         [
          77.642605,
           12.960446
         ],
         [
           77.642252,
           12.960486
        ],
         [
          77.641928,
           12.96054
         ],[
           77.64556,
           12.972287
         ]
       ]
    ]
   }
 }'


- 在第2步中查询:

    curl -XPOST 'http://localhost:9200/routes/_search' -d '{
  "query": {
    "geo_shape": {
      "location": { 
        "shape": { 
          "type":   "circle", 
          "radius": "1km",
          "coordinates": [ 
            77.643495,
          12.960354
          ]
        }
      }
    }
  }
}'


结果:

{"took":2,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":0,"max_score":null,"hits":[]}}


请在上述步骤中指出故障。 我假设应该可以使用ElasticSearch找到最近的geo_shape到给定位置 注意:查询中的数据与快照中的数据不同。
我也尝试使用path.type作为linestring,multipoint但没有成功。

0 个答案:

没有答案