Ich benutze ES2.3Wie erstellt man ein Mapping mit JSON-Datei in elasticsearch2.3?
erstellen Sie neue Index Mapping mit unten Befehl funktioniert.
curl -XPUT 'http://localhost:9200/megacorp' -d '
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1
},
"mappings": {
"employee": {
"properties": {
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"age": {
"type": "integer"
},
"about": {
"type": "string"
},
"interests": {
"type": "string"
},
"join_time": {
"type": "date",
"format": "dateOptionalTime",
"index": "not_analyzed"
}
}
}
}
}
'
jetzt hoffe ich kann eine json-Datei verwenden, um den gleichen Index zu erstellen. tmap.json Datei wie unten
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1
},
"mappings": {
"employee": {
"properties": {
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"age": {
"type": "integer"
},
"about": {
"type": "string"
},
"interests": {
"type": "string"
},
"join_time": {
"type": "date",
"format": "dateOptionalTime",
"index": "not_analyzed"
}
}
}
},
"aliases": [ "source" ]
}
dann ich usr curl, um es zu erstellen.
curl -s -XPOST 'localhost:9200/megacorp' --data-binary @tmap.json
und
curl -XPUT 'http://localhost:9200/megacorp' -d @tmap.json
beide oben genannten Befehle nicht funktioniert, erhalten Fehler wie unten.
{"error":{"root_cause":[{"type":"class_cast_exception","reason":"java.util.ArrayList cannot be cast to java.util.Map"}],"type":"class_cast_exception","reason":"java.util.ArrayList cannot be cast to java.util.Map"},"status":500}%
Wie erstellt Index mit Curl und meine JSON-Datei? Das verwirrt mich wirklich lange.
kann mir irgendein Körper helfen? Vielen Dank.
ich habe es, vielen Dank. andere Frage, wie zu Speichervorlagendatei in Config/Vorlagen-Ordner, wissen Sie es? – user670809
Ich verstehe deine Frage nicht. Was meinst du mit Vorlagendatei? Ich glaube nicht, dass Elasticsearch etwas namens Template-Datei hat. – philipskokoh
danke für Ihre Hilfe. Ich fand es von ES Version 2.0 oder neuer wird nicht unterstützt für Vorlage Dateien Speicher in der lokalen Datei, müssen Sie verwenden curl -XPUT localhost: 9200/_template/xxx -d '{}' für Ihre Vorlage. andere Willen wäre möglich, Sie speichern es auf lokalen Ordner dann führen Sie Befehl von Handle, wie curl -XPUT localhost: 9200/_template/xxx-d @templatefile – user670809