繁体   English   中英

Elasticsearch-py索引有4个参数,5个给出?

[英]Elasticsearch-py Index takes 4 arguments, 5 given?

我有以下对Elasticsearch-py客户端的调用:

esClient.index(index=data['AppName'], id=data['RequestId'], body=data)

运行代码时出现以下错误:

Traceback (most recent call last):
   File "C:\Users\danielschnoll\dashboard\backend.py", line 52, in main
      parseData(sowSet)
   File "C:\Users\danielschnoll\dashboard\backend.py", line 36, in parseData
      sendToElasticSearch(d)
   File "C:\Users\danielschnoll\dashboard\backend.py", line 39, in sendToElasticSearch
      esClient.index(data['AppName'], id=data['RequestId'], body=data)
   File "C:\elasticsearch-6.2.0-py2.7.egg\elasticsearch\client\utils.py", line 76, in _wrapped
      return func(*args, params=params, **kwargs)
TypeError: index() takes at least 4 arguments (5 given)

我不确定我是怎么得到这个错误的。 我的4个参数是来自esClient的'self'调用,然后是index,id和body JSON对象。 这个假设的第五个论点在哪里,我该如何解决这个问题呢? 谢谢

错误很尴尬,文档缺乏解释。

提供5个或更多参数时你不会犯错误 - 它至少说 - 但你应该提供你的第一个参数index作为第一个位置参数,id作为第二个参数:

esClient.index(data['AppName'], data['RequestId'], body=data)

这是在上面评论中链接目标下提供的链接中间接解释的,因为没有选项提供索引作为参数,只能直接调用PUT indexname/...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM