ドキュメントのインデックス作成時に不適切な形式のオブジェクトがジオポイントに渡されると、エラーがスローされます。 代わりに、不良ジオポイントの後のフィールドは無視されます。
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"
}
}
}
}
結果:
{
"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 @ chillingこれは簡単なはずです。
@ s1monw @clintongormley私はそれを修正します
誰かが対応する例外をグーグルで検索した場合に備えて。 Elasticsearch 1.1.0で不完全またはその他の無効なgeo_pointフィールドを含むドキュメントにインデックスを付けようとすると、「MapperParsingException [failed to parse]; nested:ElasticsearchParseException [field [lat] missing];」などの例外が発生します。 または「MapperParsingException [解析に失敗しました];ネスト:ElasticsearchParseException [geo_pointexpected];」の場合、解決策はgeo_pointフィールド全体をスキップすることです。 この要点を参照してください: https :
最も参考になるコメント
誰かが対応する例外をグーグルで検索した場合に備えて。 Elasticsearch 1.1.0で不完全またはその他の無効なgeo_pointフィールドを含むドキュメントにインデックスを付けようとすると、「MapperParsingException [failed to parse]; nested:ElasticsearchParseException [field [lat] missing];」などの例外が発生します。 または「MapperParsingException [解析に失敗しました];ネスト:ElasticsearchParseException [geo_pointexpected];」の場合、解決策はgeo_pointフィールド全体をスキップすることです。 この要点を参照してください: https :