Expected map for property [fields] on field [fileName] but got a class java.lang.String
def set_fielddata(index='event_tk'): try: data = { "properties":{ "camera_position": "text", 'fielddata': True } } DNS_API = 'http://127.0.0.1:9200/' + index + '/_mapping/koala-index' # dns_test_v2为索引名 # resp = requests.delete(DNS_API, headers=header) resp = requests.post(DNS_API, headers=header, data=json.dumps(data)) print(resp.status_code) if resp.status_code == 200: print(u"set_fielddata ok") else: print(resp.text) except Exception as e: print(e, u"建立索引失败")
正确代码:
import json import requests import global_var header = {'Content-Type': 'application/json'} def set_fielddata(ip,index,doc_type): try: data = { "properties":{ "camera.deviceId": {'type': "text", 'fielddata': True} } } DNS_API = 'http://'+ip+"/" + index + '/_mapping/'+doc_type # dns_test_v2为索引名 # resp = requests.delete(DNS_API, headers=header) resp = requests.post(DNS_API, headers=header, data=json.dumps(data)) print(resp.status_code) if resp.status_code == 200: print(u"set_fielddata ok") else: print(resp.text) except Exception as e: print(e, u"建立索引失败") def max_count(index='event_tk'): try: data={'index' : { "max_result_window" : 100000000}} DNS_API = 'http://192.168.1.152:9200/'+index+'/_settings' # dns_test_v2为索引名 # resp = requests.delete(DNS_API, headers=header) resp = requests.put(DNS_API, headers=header, data=json.dumps(data).encode()) print(resp.status_code) if resp.status_code == 200: print(u"max ok") else: print(resp.text) except Exception as e: print(e, u"建立索引失败") if __name__ == '__main__': ip='192.168.55.66:9200' set_fielddata(ip,global_var.index_name,global_var.doc_type) # max_count()