无法使用批量api加载elasticsearch索引

时间:2018-02-24 16:41:57

标签: python elasticsearch

我尝试使用以下代码使用python创建数据并将数据加载到索引中:

from datetime import datetime

from elasticsearch import Elasticsearch
from elasticsearch import helpers

es = Elasticsearch()

actions = [
  {
    "_index": "tickets-index",
    "_type": "tickets",
    "_id": j,
    "_source": {
        "any":"data" + str(j),
        "timestamp": datetime.now()}
  }
  for j in range(0, 10)
]

helpers.bulk(es, actions)

执行代码时,显示:

elasticsearch.exceptions.TransportError: TransportError(406, u'Content-Type header [] is not supported')

我想这段代码以前是由这个论坛上的某人编写的一个解决方案,但它对我不起作用。请让我知道为什么我们会遇到这个问题,我怎样才能解决这个问题。

提前致谢。

1 个答案:

答案 0 :(得分:0)

检查您是否正在运行相同版本的库和elasticsearch。在requirements.txt中设置类似elasticsearch> = 6.0.0,< 7.0.0的内容,具体取决于您的ES版本。

您可以获得有关requirements.txt herehere的更多信息,了解该库的可用版本。使用pip unistall删除弹性库,并使用pip install -r requirements.txt重新安装正确的版本(与elasticsearch集群版本相关)