錯誤一:TypeError: search() got an unexpected keyword argument 'doc_type',得到不預期外的參數
解決方法:elasticsearch7里不用文檔類型,所以去掉 doc_type='credit_data'
錯誤二:RequestError(400, 'illegal_argument_exception', 'request [/user_info/_search] contains unrecognized parameter: [query]'),包含不可識別的參數
解決方法:params為URL后添加的參數,,body為查詢語句
Python操作ES查詢時,如search操作,源碼:search(self, index=None, doc_type=None, body=None, params=None)
其中index,doc_type,body都好理解,與平時查詢時的一樣,body為查詢語句,
params即在URL后添加的參數,使用 curl 查詢時URL參數如:?size=0 但在python中使用時賦值方式需要將其設為字典,如:params={“size":0},否則查詢時會無法解析
dsl = {
'query': {
'match': {
'title': 'xxxtitle'
}
}
}
es = Elasticsearch()
result = es.search(index='news', body=dsl,params={"size":0})
print(json.dumps(result, indent=2, ensure_ascii=False))