2014-05-12 11 views
6

Der Versuch, zu bauen Suche zu finden, wie folgt:Elasticsearch QueryParsingException fehlgeschlagen geo_point Feld

{ 
    "query": { 
    "filtered": { 
     "query": { 
     "match_all": {} 
     }, 
     "filter": { 
     "geo_distance": { 
      "distance": "50km", 
      "coordinates": { 
      "lat": 52.5234051, 
      "lon": 4.113999 
      } 
     } 
     } 
    } 
    } 
} 

wo Koordinaten vom Typ 'geo_point'. Aber

, wenn ich versuche, diese Abfrage auszuführen, die elasticsearch.log öffnet sich mit einem Fehler auf: [Standorte] fehlgeschlagen geo_point Feld finden [Koordinaten]

Edit:

Dies ist Teil von/locations/location/_mapping:

{ 
    "locations": { 
    "mappings": { 
    "location": { 
    "properties": { 
    ... 
    "coordinates": { 
     "properties": { 
     "lat": { 
      "type": "string" 
     }, 
     "lon": { 
      "type": "string" 
     } 
     } 
    }, 
    ... 
} 
} 

Irgendwelche Ideen, was ist hier falsch?

+0

Was uns der Feldname von Geo Point? – BlackPOP

+0

@BlackPOP: siehe Bearbeiten des ursprünglichen Posts –

+2

Ich denke, Sie haben Geo-Point in Mapping verwendet .. verweisen Sie http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-geo-point-type. html – BlackPOP

Antwort

9

Das Problem ist Mapping. Sie müssen Geo-Punkt im Mapping verwenden .. refer this.

+1

Bearbeitet mit dem neuesten Link ..! – BlackPOP

+0

Ich habe das gleiche Problem, können Sie mehr erklären? – mhndev

Verwandte Themen