创建es索引和mapping
第一种:
def set_mapping():
my_mapping = {
type_: {
"properties": {
"@timestamp": {
"type": "date"
},
"@version": {
"type": "keyword"
},
"channelSwitchDelay": {
"type": "long"
},
"frameDelay": {
"type": "long"
},
"host": {
"type": "keyword"
},
"iptvAccount": {
"type": "keyword"
},
"kaNum": {
"type": "long"
},
"mac": {
"type": "keyword"
},
"message": {
"type": "keyword"
},
"oui": {
"type": "keyword"
},
"path": {
"type": "keyword"
},
"productClass": {
"type": "keyword"
},
"responseDelay": {
"type": "long"
},
"rtpLossRate": {
"type": "long"
},
"softProbeOUI": {
"type": "keyword"
},
"streamBreak": {
"type": "long"
},
"type": {
"type": "keyword"
}
}
}
}
creat_index = es.indices.create(index=index_insert, body=None)
mapping_index = es.indices.put_mapping(index=index_insert, doc_type=type_, body=my_mapping)
if creat_index['acknowledged'] != True or mapping_index['acknowledged'] != True:
print("Index create failed")
第二种:
1、创建索引
curl -XPUT 'http://10.0.0.20:9200/iptv_test_3'
2、设置map
curl -XPUT 'http://10.0.0.20:9200/iptv_test_3/iptv-apk/_mapping?pretty' -d '{
"iptv-apk": {
"properties": {
"@timestamp": {
"type": "date"
},
"@version": {
"type": "keyword"
},
"channelSwitchDelay": {
"type": "long"
},
"frameDelay": {
"type": "long"
},
"host": {
"type": "keyword"
},
"iptvAccount": {
"type": "keyword"
},
"kaNum": {
"type": "long"
},
"mac": {
"type": "keyword"
},
"message": {
"type": "keyword"
},
"oui": {
"type": "keyword"
},
"path": {
"type": "keyword"
},
"productClass": {
"type": "keyword"
},
"responseDelay": {
"type": "long"
},
"rtpLossRate": {
"type": "long"
},
"softProbeOUI": {
"type": "keyword"
},
"streamBreak": {
"type": "long"
},
"type": {
"type": "keyword"
}
}
}
}'
3、查看设置的map
curl -XGET 'http://10.0.0.20:9200/iptv_test_3/_mapping?pretty'