fix: es6 create index fail

This commit is contained in:
feng626 2022-04-18 18:45:38 +08:00 committed by Jiangjie.Bai
parent 4362f8d5af
commit fe47e40588

View File

@ -59,10 +59,15 @@ class CommandStore(object):
data = self.es.indices.get_mapping(self.index) data = self.es.indices.get_mapping(self.index)
except NotFoundError: except NotFoundError:
return False return False
info = self.es.info()
version = info['version']['number'].split('.')[0]
try: try:
# 检测索引是不是新的类型 if version == '6':
properties = data[self.index]['mappings']['properties'] # 检测索引是不是新的类型 es6
properties = data[self.index]['mappings']['data']['properties']
else:
# 检测索引是不是新的类型 es7 default index type: _doc
properties = data[self.index]['mappings']['properties']
if properties['session']['type'] == 'keyword' \ if properties['session']['type'] == 'keyword' \
and properties['org_id']['type'] == 'keyword': and properties['org_id']['type'] == 'keyword':
return True return True
@ -75,27 +80,30 @@ class CommandStore(object):
self._ensure_index_exists() self._ensure_index_exists()
def _ensure_index_exists(self): def _ensure_index_exists(self):
mappings = { properties = {
"mappings": { "session": {
"properties": { "type": "keyword"
"session": { },
"type": "keyword" "org_id": {
}, "type": "keyword"
"org_id": { },
"type": "keyword" "@timestamp": {
}, "type": "date"
"@timestamp": { },
"type": "date" "timestamp": {
}, "type": "long"
"timestamp": {
"type": "long"
}
}
} }
} }
info = self.es.info()
version = info['version']['number'].split('.')[0]
if version == '6':
mappings = {'mappings': {'data': {'properties': properties}}}
else:
mappings = {'mappings': {'properties': properties}}
try: try:
self.es.indices.create(self.index, body=mappings) self.es.indices.create(self.index, body=mappings)
return
except RequestError as e: except RequestError as e:
logger.exception(e) logger.exception(e)