问题标签 [elasticsearch-bulk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
188 浏览

macos - 批量创建时的弹性搜索异常

我想测试批量插入

这是我的要求

我收到此错误:

我不知道为什么错误消息状态要关闭}我猜这是一个正确的 JSON,我正在按照官方网站的要求添加行尾

0 投票
3 回答
26770 浏览

elasticsearch - Elasticsearch 批量 API - 索引与创建/更新

我正在使用Elasticsearch Bulk API创建或更新文档。

我确实知道它们是创建还是更新,但我可以通过将它们全部制作index或 SQL 意义上的“upserts”来简化我的代码。

与使用更明确的and相比,使用index(并让 ES 弄清楚)有什么缺点吗?createupdate

0 投票
1 回答
50 浏览

rest - elasticsearch中第一个节点的父规范

我正在使用 _bulk api 来索引我的数据。除了第一个文档外,每个文档都有一个父字段。

通常我的文档将包含以下元数据:

我应该在第一个文档的父字段中指定什么。

我应该将父字段留空吗?

还是我根本不应该包含父字段?

0 投票
1 回答
1312 浏览

java - Elasticsearch 批量 API 在 Java 中返回 400 错误

我尝试了很多东西来检查为什么它显示格式错误的请求。请参阅此问题以正确格式化我的请求正文。

elasticsearch中第一个节点的父规范

这是我的代码。

我正在使用 Unirest API 发送请求。

在代码的注释部分中存储了请求正文。当使用文件内容并使用 POSTman 独立发送请求时,我能够实现我的目标。

ES 日志:

0 投票
0 回答
1183 浏览

performance - 优化弹性搜索中的批量索引

我们有一个由以下配置的 3 个节点组成的弹性搜索集群

这些机器位于 3 个不同的区域,即 eu-west-1c、eu-west-1a、eu-west-1b。

每个弹性搜索实例都被分配了 30GB 的堆空间。

我们仅将上述集群用于运​​行聚合。集群的复制因子为 1,所有字符串字段都未分析,所有字段的 doc_values 为真。

我们将数据注入到这个集群中,并行运行 6 个 logstash 实例(批量大小为 1000)

当更多的logstash实例一个一个启动时,ElasticSearch集群的节点开始抛出内存不足的错误。

可以进行哪些优化以加快集群上的批量索引速度?= 同一区域中集群节点的存在会增加批量索引吗?在集群中添加更多节点会有帮助吗?

到目前为止采取的几个步骤

将批量队列大小从 50 增加到 1000
将刷新间隔从 1 秒增加到 2 分钟将分段
合并限制更改为无 ( https://www.elastic.co/guide/en/elasticsearch/guide/current/indexing-performance.html )

如果其中一个节点出现故障,我们无法将复制因子设置为 0,因为涉及的不一致。

0 投票
0 回答
5493 浏览

python - 如何在 Python 中进行 Elasticsearch 批量插入

我有一个 JSON 数组,其中包含需要推送到 ElasticSearch 实例的数据列表。就像是

[ {"Message": "2aTeFCKTYWwfrF"}, {"Message": "2aTeFCKTYWwfrD"}, {"Message": "2aTeFCKTYWwfrW"}.......{"Message": "2aTeFCKTYWwfrG"}]

现在要从 Python 将一个简单的 JSON 数据(就像这个数组的第一个索引处的元素)插入到 Elasticsearch 中,这就是我所拥有的

现在,如果我想使用 Bulk API 将数组中的所有数据插入到同一个端点,我该怎么做?我似乎一点也不理解这里的文档https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html

0 投票
1 回答
75 浏览

elasticsearch - 使用批量 API 将批次插入到弹性搜索存储中

我有大量具有相同索引和相同类型但明显不同的 ID 的文档。我想更新现有的或批量插入新的。如何使用批量索引 API 实现它?我想做类似下面的事情,但它会引发错误。基本上,我想批量插入具有相同索引和相同类型的多个文档。

0 投票
1 回答
1085 浏览

elasticsearch - ElasticSearch 无法识别定义了编码的 Context-Type 标头

我花了一些时间尝试修复弹性搜索批量上传警告:

不推荐使用休息请求的内容类型检测。使用 [Content-Type] 标头指定内容类型

我的要求如下:

我的有效回复为 200 状态如下:

通过试验,我发现问题出在内容类型字符集定义中Content-Type: application/x-ndjson; charset=utf-8,如果我将其更改为,Content-Type: application/x-ndjson我不会收到任何警告。

是弹性搜索问题还是我错误地形成了请求?

0 投票
1 回答
552 浏览

python - 如何将已创建的 json 格式字符串插入 Elasticsearch Bulk

在 python 脚本中,

我正在尝试让elasticsearch.helpers.bulk存储多条记录。

我将从另一个软件中得到一个 json 格式的字符串,我想将它附加到源部分

我通过这个答案得到了 helpers.bulk 格式

我的代码的一部分:

我想在 [[PROBLEM]] 中附加一个 json 格式的字符串

我怎样才能把它贴进去?我已经努力了,但它没有正确输出..

如果我使用:

打印数据结果为:

这个结果表明组合成一个字符串。

但我希望:

0 投票
1 回答
59 浏览

json - 在上传到弹性搜索之前为每个文档插入标题

我有一个具有以下格式的 ndjson 文件

我想添加一个标题

在使用批量操作之前的每个文档之前我发现了一个类似的问题:Elasticsearch Bulk JSON Data

解决方案是这个 jq 命令:

但我得到这个错误:

我究竟做错了什么?我正在运行 Windows 或者有更好的解决方案吗?谢谢