2016-05-30 7 views
0

Also, ich habe folgendes Datumsformat, das ich in Elasticsearch als Datumsfeld importieren mag:Elasticsearch Datumsformat Abbildung

2015-01-12T03:00:00 

Leider ist dieses Format nicht von Elasticsearch mit der folgenden Abbildung erkannt wird:

{ 
    "mappings": { 
     "veenendaal_type_new": { 
     "properties": { 
      "1061_Mundo_Sport_Veenendaal": { 
      "type": "integer" 
      }, 
      "1076_We_Veenendaal_Bernard_van_Kreelpoort": { 
      "type": "integer" 
      }, 
      "1103_V&D_Veenendaal": { 
      "type": "integer" 
      }, 
      "1167_Action_Veenendaal": { 
      "type": "integer" 
      }, 
      "1171_Speksnijder_Veenendaal": { 
      "type": "integer" 
      }, 
      "1178_Ingang_Corridor_t_h_v__C&A_Veenendaal": { 
      "type": "integer" 
      }, 
      "1181_Ingang_Corridor_t_h_v__Bart_Smit_Veenendaal": { 
      "type": "integer" 
      }, 
      "1183_De_Heren_van_XVII_Veenendaal": { 
      "type": "integer" 
      }, 
      "1184_Corridor_t_h_v__CandyShop_Veenendaal": { 
      "type": "integer" 
      }, 
      "1186_Corridor_t_h_v__Het_Goudhaantje_Veenendaal": { 
      "type": "integer" 
      }, 
      "1188_Takko_Veenendaal": { 
      "type": "integer" 
      }, 
      "1212_De_Cultuurfabriek_Veenendaal": { 
      "type": "integer" 
      }, 
      "1216_Jac_Hensen_Veenendaal": { 
      "type": "integer" 
      }, 
      "1505_Floral_Haircare_Veenendaal": { 
      "type": "integer" 
      }, 
      "201_WE_Veenendaal": { 
      "type": "integer" 
      }, 
      "940_HEMA_Veenendaal": { 
      "type": "integer" 
      }, 
      "Tijdsperiode": { 
      "type": "date" 
      } 
     } 
     } 
    } 
    } 

Elasticsearch gibt diesen Fehler zurück:

MapperParsingException[failed to parse [Tijdsperiode]]; nested: IllegalArgumentException[Invalid format: "2015-01-12T03:00:00" is malformed at "T03:00:00"]; 

Meine Frage ist, , wie kann ich dieses Format bilden (2015-01-12T03: 00: 00) gültig für elasticsearch?

+0

Es gibt eine baumelnde Komma in der Zuordnung für das 'Tijdsperiode' Feld, das macht es JSON ungültig. Wie haben Sie dieses Mapping installiert? Kannst du 'curl -XGET localhost: 9200/your_index' ausführen? – Val

Antwort

2

Verwenden Sie diese in Ihrem Index Definition:

"Tijdsperiode": { "type": "date", "format": "yyyy-MM-dd'T'HH:mm:ssZ" }

oder vielleicht

"format": "date_time_no_millis"

http://www.elasticsearch.com/docs/elasticsearch/mapping/date_format/

+1

Index: not_analyzed ist nur für String-Typen, nicht für Datumstypen erforderlich. – Val

+0

so ändere ich die Antwort ' "Tijdsperiode": { \t "type": "date", \t "Format": "yyyy-MM-dd'T'HH: mm: ssZ" }' – billyjoe25