Si un objeto con formato incorrecto se pasa a un punto geográfico al indexar un documento, debería arrojar un error. En cambio, cualquier campo después del geopunto incorrecto simplemente se ignora:
PUT /test
{
"mappings": {
"foo": {
"properties": {
"loc": {
"type": "geo_point"
}
}
}
}
}
PUT /test/foo/1
{
"loc": { "lat": 0, "lon": 0 },
"tag": "ok"
}
PUT /test/foo/2
{
"loc": {
"loc": {
"lat": 0,
"lon": 0
}
},
"tag": "not_ok"
}
GET /test/_search?search_type=count
{
"facets": {
"tags": {
"terms": {
"field": "tag"
}
}
}
}
Resultado:
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 0,
"hits": []
},
"facets": {
"tags": {
"_type": "terms",
"missing": 1,
"total": 1,
"other": 0,
"terms": [
{
"term": "ok",
"count": 1
}
]
}
}
}
+1 por arrojar un error @ escalofriante ¿Puedes echar un vistazo? Esto debería ser sencillo
@ s1monw @clintongormley Lo arreglaré
En caso de que alguien busque en Google las excepciones correspondientes. Si intenta indexar un documento que contiene campos de geo_point incompletos o no válidos en Elasticsearch 1.1.0 y obtiene excepciones como "MapperParsingException [no se pudo analizar]; anidado: ElasticsearchParseException [campo [lat] faltante];" o "MapperParsingException [no se pudo analizar]; anidado: ElasticsearchParseException [geo_point esperado];", la solución es omitir todo el campo geo_point. Vea esta esencia: https://gist.github.com/hkorte/9936192
Comentario más útil
En caso de que alguien busque en Google las excepciones correspondientes. Si intenta indexar un documento que contiene campos de geo_point incompletos o no válidos en Elasticsearch 1.1.0 y obtiene excepciones como "MapperParsingException [no se pudo analizar]; anidado: ElasticsearchParseException [campo [lat] faltante];" o "MapperParsingException [no se pudo analizar]; anidado: ElasticsearchParseException [geo_point esperado];", la solución es omitir todo el campo geo_point. Vea esta esencia: https://gist.github.com/hkorte/9936192