gpt4 book ai didi

python Elasticsearch 批量: Malformed action/metadata

转载 作者:行者123 更新时间:2023-12-02 22:48:20 26 4
gpt4 key购买 nike

我写了一段代码,旨在使用 python elasticsearch 将 IRC eggdrop 日志注入(inject) elasticsearch 6.4 数据库散装。它是用 python 编写的,使用版本 3.7,在 NetBSDLinuxMac OS X 上测试。
一些日志文件导入,但一些日志文件因以下错误而失败:

elasticsearch.exceptions.RequestError: TransportError(400, 
'illegal_argument_exception', 'Malformed action/metadata line [387],
expected START_OBJECT or END_OBJECT but found [VALUE_STRING]')

我阅读了很多 elastic.co 论坛帖子和 SO 答案,其中 OP 在其数据集上存在格式错误,缺少字段等,但我在我的中找不到。另外,并非所有日志文件都因该错误而被拒绝。

我正在查看编码错误,但该区域的所有内容似乎都是文件。

  • Here是产生此错误的示例文件。它是 100% 有效的 JSON
  • Here是python代码。

想法?

最佳答案

在您的 json 响应中,json 中有换行符。 _source 的其中一个值为空。 Python 无法将它们视为字典。在形成批量请求时,清理完整数据并点击批量 API。

第 192 个索引处的 Json 将 null 作为 _source。

第 47 个索引处的 Json 有换行符。

请在导出到 elasticsearch 时清理这些数据。

希望这对您有所帮助。

关于 python Elasticsearch 批量: Malformed action/metadata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53349712/

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