Elasticsearch: يجب أن يتسبب حقل النقطة الجغرافية السيئة في حدوث خطأ

تم إنشاؤها على ١١ مارس ٢٠١٤  ·  3تعليقات  ·  مصدر: elastic/elasticsearch

إذا تم تمرير كائن منسق بشكل سيئ إلى نقطة جغرافية عند فهرسة مستند ، فيجب أن يؤدي ذلك إلى حدوث خطأ. بدلاً من ذلك ، يتم تجاهل أي حقول بعد النقطة الجغرافية السيئة:

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
            }
         ]
      }
   }
}
>bug v1.1.0 v2.0.0-beta1

التعليق الأكثر فائدة

فقط في حالة قيام شخص ما بالبحث في الاستثناءات المقابلة على Google. إذا حاولت فهرسة مستند يحتوي على حقول جغرافية غير مكتملة أو غير صالحة أخرى في Elasticsearch 1.1.0 وحصلت على استثناءات مثل "MapperParsingException [فشل التحليل] ؛ متداخل: ElasticsearchParseException [الحقل [lat] مفقود] ؛" أو "MapperParsingException [فشل التحليل] ؛ متداخل: ElasticsearchParseException [توقع نقطة جغرافية] ؛" ، الحل هو تخطي حقل geo_point بالكامل. انظر إلى هذا الجوهر: https://gist.github.com/hkorte/9936192

ال 3 كومينتر

+1 لارتكاب خطأ

@ s1monwclintongormley سأصلحه

فقط في حالة قيام شخص ما بالبحث في الاستثناءات المقابلة على Google. إذا حاولت فهرسة مستند يحتوي على حقول جغرافية غير مكتملة أو غير صالحة أخرى في Elasticsearch 1.1.0 وحصلت على استثناءات مثل "MapperParsingException [فشل التحليل] ؛ متداخل: ElasticsearchParseException [الحقل [lat] مفقود] ؛" أو "MapperParsingException [فشل التحليل] ؛ متداخل: ElasticsearchParseException [توقع نقطة جغرافية] ؛" ، الحل هو تخطي حقل geo_point بالكامل. انظر إلى هذا الجوهر: https://gist.github.com/hkorte/9936192

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات