gpt4 book ai didi

python - 使用 python 脚本索引到elasticsearch 6.1

转载 作者:太空宇宙 更新时间:2023-11-03 14:10:53 24 4
gpt4 key购买 nike

我正在尝试使用 python 2.7 脚本对 elasticsearch 进行索引,如下所示:

from __future__ import print_function
import urllib, urllib2

#FORMDATA is a json format string that has been taken from a file
ELASTIC_URL = 'http://1.2.3.9:9200/indexname/entry/
req = urllib2.Request(ELASTIC_URL)
req.add_header('contentType', 'application/x-www-form-urlencoded')

response = urllib2.urlopen(req, FORMDATA, timeout=4).read()
print(response)

我不断收到错误HTTP 错误 406: Not Acceptable :HTTPError

我还尝试使用 urllib.quote(FORMDATA) 格式化数据并得到相同的错误。数据不是字典,而是字符串,转换为 json 时是多维的。

我认为这与 req header 需要将 contentType 指定为正确的格式有关,但我正在努力弄清楚这是什么。我设法在 elasticsearch 5.x 上执行此导入,但现在在 3.x 上它似乎不起作用。

有什么想法吗?

最佳答案

几乎所有的elasticsearch API调用都在 header 中使用Content-Type: application/json - 这应该是您所需要的。

另请注意,如果您要提交数据,则需要采用 POST 的形式(如果生成您自己的 ID,则需要采用 PUT 的形式),而不是GET 请求:https://www.elastic.co/guide/en/elasticsearch/guide/current/index-doc.html

关于python - 使用 python 脚本索引到elasticsearch 6.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48505597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com