2016-12-08 2 views
0

Ich versuche, ein ELK einzurichten, um mit meiner PaloAlto-Firewall zu arbeiten, aber ich bin mit den Mappings fest. Ich habe den folgenden Code:Elasticsearch Mapping Geopoint unsuported Parameter

"mappings":{ 
    "_default_":{ 
    "_all":{ 
     "enabled":true 
    }, 
    "dynamic_templates":[ 
     { 
      "message_field":{ 
       "match":"message", 
       "match_mapping_type":"string", 
       "mapping":{ 
       "type":"string", 
       "index":"analyzed", 
       "omit_norms":true 
       } 
      } 
     }, 
     { 
      "string_fields":{ 
       "match":"*", 
       "match_mapping_type":"string", 
       "mapping":{ 
       "type":"string", 
       "index":"analyzed", 
       "omit_norms":true, 
       "fields":{ 
        "raw":{ 
         "type":"string", 
         "index":"not_analyzed", 
         "ignore_above":256 
        } 
       } 
       } 
      } 
     } 
    ], 
    "properties":{ 
     "@version":{ 
      "type":"string", 
      "index":"not_analyzed" 
     }, 
     "geoip":{ 
      "type":"object", 
      "dynamic":true, 
      "path":"full", 
      "properties":{ 
       "location":{ 
       "type":"geo_point", 
       "lat_lon":true, 
       "geohash":true 
       } 
      } 
     }, 

Wie ich bereits in der offiziellen Dokumentation gesehen haben, https://www.elastic.co/guide/en/elasticsearch/reference/2.1/lat-lon.html Sie die param lat_lon auf true setzen können angeben, damit es Indizes es Werte als numerische Felder.

Aber anstatt ich erhalte diese Fehlermeldung:

{ 
    "error" : { 
    "root_cause" : [ 
     { 
     "type" : "mapper_parsing_exception", 
     "reason" : "Mapping definition for [location] has unsupported parameters: [geohash : true] [lat_lon : true]" 
     } 
    ], 
    "type" : "mapper_parsing_exception", 
    "reason" : "Failed to parse mapping [_default_]: Mapping definition for [location] has unsupported parameters: [geohash : true] [lat_lon : true]", 
    "caused_by" : { 
     "type" : "mapper_parsing_exception", 
     "reason" : "Mapping definition for [location] has unsupported parameters: [geohash : true] [lat_lon : true]" 
    } 
    }, 
    "status" : 400 
} 

, was ich falsch mache?

Antwort

0

Versuchen Sie, die Eigenschaften lat_lon und geohash zu entfernen. In der aktuellen elasticsearch-Version (5.2) werden diese Eigenschaften nicht unterstützt.

Die folgende Beschreibung ist der Trick:

"geoip":{ 
     "dynamic":true, 
     "properties":{ 
      "location":{ 
      "type":"geo_point" 
      } 
     } 
    } 

ref: https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-point.html

(Wenn Sie schlägt vor 2.1 als Dokumentation Link ausgeführt wird, dann fühlen sich frei, meine Antwort zu ignorieren)

Verwandte Themen