gpt4 book ai didi

json - ElasticSearch JSON文件导入(批量API)

转载 作者:行者123 更新时间:2023-12-03 02:01:39 26 4
gpt4 key购买 nike

我在StackOverflow上看到了一些与此类似的帖子,但是对于如何将带有JSON文档的大文件索引到ElasticSearch中,我仍然不清楚。我收到如下错误:

{"error":"ActionRequestValidationException[Validation Failed: 1: index is missing;2: type is missing;]","status":400}

{"took":231,"errors":false,"items":[{"index":{"_index":"test","_type":"type1","_id":"1","_version":7,"status":200}}]

我有一个大约2Gb的JSON文件,这是我实际上要导入的文件。但是首先,为了了解Bulk API的工作原理,我创建了一个只有一行实际数据的小文件:

testfile.json
{"index":{"_id":"someId"}} \n
{"id":"testing"}\n

我是从SO的另一篇文章中获得的。我知道第一行是 header ,并且我也知道第一行中的“索引”是要发送到ES的命令;但是,这仍然行不通。有人可以给我一个有效的例子,并明确说明如何将JSON文件导入ES吗?

谢谢!

最佳答案

以下示例来自elasticsearch文档:
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html?q=bulk

{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test", "_type" : "type1", "_id" : "2" } }
{ "create" : { "_index" : "test", "_type" : "type1", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_id" : "1", "_type" : "type1", "_index" : "index1"} }
{ "doc" : {"field2" : "value2"} }

因此,第一行告诉Elastic将第二行上的文档索引到索引测试中,使用_id 1输入type1。它将使用field1索引该文档。如果它们都转到相同的索引和类型,则可以更改URL。检查链接以获取样本。

在第三行中,您将看到一个删除操作的示例,此文档在第四行中不需要文档。

注意非常大的文档,2 Gb可能很大。首先需要将其发送到 flex ,然后将其加载到内存中。因此,发送记录的数量受到限制。

关于json - ElasticSearch JSON文件导入(批量API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31928129/

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