我已将传统RDBMS数据库中的大量数据(500 000条记录)导出为json格式的平面文件,如:
{"index", {"_id": 1}}
{"Name": "Jack"}
...
{"index", {"_id": 500000}}
{"Name": "Joe"}
我正在尝试使用CURL命令将此文件索引到Elasticsearch中,但CURL命令只是在不索引任何数据且没有任何消息的情况下退出。
这是CURL命令:
curl -XPUT "localhost:9200/person/_doc/_bulk" -H "Content-Type: application/json" --data-binary "@person_data.json"
有谁能建议我做错了什么?或CURL命令无法发送大数据(虽然大约175MB)?
我正在运行一个大型连接查询,这需要花费大量时间从RDBMS获取所有500k行。然后我将这些记录导出到文件中的json格式,以便elasticsearch批量API可以使用它。但是,正如我所看到的,CURL命令无法在没有任何错误消息的情况下索引如此庞大的数据。
在这种情况下,是否有任何GUI / Console工具可以批量索引数据?
答案 0 :(得分:1)
Elasticsearch中有一个名为http.max_content_length
的设置,用于配置http内容的最大大小。
默认情况下,它等于100mb,这就是为什么你无法正确索引它的原因。因此,您需要更改它并重新启动Elasticsearch。最大可能值为Integer.MAX_VALUE
。
有关它的更多信息 - https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html