错误一: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))