我正在尝试使用jq进行批量索引,但遇到了麻烦。
我使用终端输入以下内容(我使用的是Ubuntu 16.04)
cat practice.json | jq -c '.[] | {"index": {"_index": "text", "_type": "text", "_id": "text"}}, .' | curl -XPOST localhost:9200/_bulk --data-binary @-
这是我得到的错误:
{"type":"mapper_parsing_exception","reason":"failed to parse","caused_by":{"type":"not_x_content_exception","reason":"not_x_content_exception: Compressor detection can only be called on some xcontent bytes or compressed xcontent bytes"}}}}
奇怪的是,我能够得到类似的代码(我忘了保存我所做的,但我认为它与此相同)才能工作。我无法在这里或其他地方找到有同样问题的人。关于如何解决这个问题的任何想法?
答案 0 :(得分:0)
这听起来像是发送到jq的文档的问题。 ElasticSearch要求最外层文档是JSON对象,而不是JSON数组或标量值。确保它是......