【问题标题】:CURL command not indexing large data into elasticsearchCURL 命令未将大数据索引到弹性搜索中
【发布时间】:2018-05-21 11:07:49
【问题描述】:

我已将旧 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 格式的文件,以便弹性搜索批量 API 可以使用它。但是,正如我所见,CURL 命令根本无法索引如此庞大的数据而没有任何错误消息。

在这种情况下,是否有任何 GUI/控制台工具可以批量索引数据?

【问题讨论】:

  • 尝试用小数据集索引怎么样?结果会一样吗?

标签: elasticsearch


【解决方案1】:

在Elasticsearch中有一个设置,叫做http.max_content_length,用于配置http内容的最大大小。

默认情况下它等于 100mb,这就是你不能正确索引它的原因。因此,您需要更改它并重新启动 Elasticsearch。最大可能值为Integer.MAX_VALUE

更多信息 - https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html

【讨论】:

  • 谢谢它的工作,但现在它抛出了一些 json 解析异常,我必须弄清楚。谢谢。
  • 我会建议你创建另一个带有 json 解析异常的问题,我会尽力帮助你
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-06
  • 2018-11-25
  • 1970-01-01
  • 2023-03-26
  • 2021-03-18
  • 2014-09-02
相关资源
最近更新 更多