python 操作 elasticsearch-7.0.2 遇到的問題


錯誤一: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))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM