当前位置: 首页 > 知识库问答 >
问题:

在elasticsearch中导入json文件时,Elasticdump创建一个包含1000个字段的文档

澹台啸
2023-03-14

有1000条记录从数据库中提取并格式化到JSON中。我需要在Elasticsearch和AutoComplete_Entities索引中将每个文件作为文档插入。输入文件如下所示

[
    {
        "id" : 1,
        "title" : "x"
    },
    {
        "id" : 2,
        "title" : "y"
    },
    ...
]
PUT _settings
{
    "index.mapping.total_fields.limit" : 10000
}

put autocomplete_entities

现在当我运行这个代码时

弹性转储--bulk=true-input=“pycharmprojects/untitled/v1.json”--output=“http://localhost:9200/_doc”--output-index=“autocomplete_entities”--type=data--transform=“doc._source=object.assign({},doc)”

"took": 9,
"timed_out": false,
"_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
},
"hits": {
    "total": 1,
    "max_score": 1,
    "hits": [
        {
            "_index": "autocomplete_entities",
            "_type": "autocomplete_entities",
            "_id": "voVp7XQBq56KEuWZ8JuQ",
            "_score": 1,
            "_source": {
                "0": {
                    "id": 37905,
                     "title": "x"
                },
                "1": {
                    "id": 44093,
                    "title": "y"
                } ...
            }
        }
    ]
}

共有1个答案

万俟招
2023-03-14

您可以如下所示为autocomplete_entities索引定义映射吗

{
    "mappings": {
        "properties": {
            "data": {
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "title": {
                        "type": "text"
                    }
                }
            }
        }
    }
}

请注意data是elasticsearch的对象类型,这就是如何在上面的索引中索引数据:

{
    "data": [
        {
            "id": 1,
            "title": "x"
        },
        {
            "id": 2,
            "title": "y"
        }
    ]
}
 类似资料:
  • 问题内容: 我想创建一个包含其他JAR库的可执行JAR文件。但是当我执行JAR时,它给出了类路径问题的错误。 我该如何解决类路径问题? 问题答案: 我想您可以这样尝试; 这是一个简单的示例供您提问。首先,假设我们有一个项目目录,例如。然后,在此工作目录中创建一个主类 HelloWorld.java ,其中包含其他JAR文件,例如。现在,我们必须将主类HelloWorld和commons-lang.

  • 问题内容: 有什么方法可以在Elasticsearch服务器中导入JSON文件(包含100个文档)?我想将大json文件导入es-server。 问题答案: 您应该使用Bulk API 。请注意,您将需要在每个json文档之前添加标题行。

  • 问题内容: 我正在尝试打开文件并创建一个列表,其中每行都从文件中读取。 但是由于这样说,这个示例代码给了我一个错误。我这是什么问题 我如何编写代码以增加InFile中每个新行的列表数? 问题答案: 比这容易得多: 这将返回文件中每一行的列表。

  • 问题内容: 我有2个HTML文件,假设是和。在我想包括。 在JSF中,我可以这样做: 这意味着在文件内部,我可以包含。 我们该如何存档? 问题答案: 我认为最好的解决方案是使用jQuery: : : 这种方法是解决我的问题的简单干净的方法。

  • 问题内容: JavaScript中是否有类似于CSS的东西,允许您在另一个JavaScript文件中包含一个JavaScript文件? 问题答案: JavaScript的旧版本没有导入,包含或要求,因此已经开发了许多解决此问题的方法。 但是自2015年(ES6)起,JavaScript有了ES6模块标准即可在Node.js中导入模块,大多数现代浏览器也支持该模块。 为了与旧浏览器的兼容性,这样的构

  • 问题内容: 我想在循环上运行一个函数,并且要将输出存储在不同的文件中,以便文件名包含循环变量。这是一个例子 如何在python中完成? 问题答案: 只需使用和构造文件名。如果需要,还可以使用旧样式或新样式格式进行格式化,因此文件名可以构造为: 请注意,您的当前版本不指定编码(你应该),并没有正确地关闭错误案件的文件(声明确实是):