当前位置: 首页 > 面试题库 >

Logstash-将嵌套的JSON导入Elasticsearch

劳华灿
2023-03-14
问题内容

我有大量(〜40000)嵌套的​​JSON对象,我想将它们插入elasticsearch中。

JSON对象的结构如下:

    {
    "customerid": "10932"
    "date": "16.08.2006",
    "bez": "xyz",
    "birthdate": "21.05.1990",
    "clientid": "2",
    "address": [
        {
            "addressid": "1",
            "tile": "Mr",
            "street": "main str",
            "valid_to": "21.05.1990",
            "valid_from": "21.05.1990",
        },
        {
            "addressid": "2",
            "title": "Mr",
            "street": "melrose place",
            "valid_to": "21.05.1990",
            "valid_from": "21.05.1990",
        }
      ]
    }

因此,JSON字段(此示例中为地址)可以具有JSON对象数组。

Logstash配置看起来像什么将这样的JSON文件/对象导入elasticsearch?该索引的elasticsearch映射应该看起来像JSON的结构。elasticsearch文档ID应设置为customerid

input {
  stdin {
    id => "JSON_TEST"
  } 
}
filter {
    json{
        source => "customerid"
        ....
        ....    
    }

}
output {
       stdout{}
       elasticsearch {
          hosts => "https://localhost:9200/"
          index => "customers"           
          document_id => "%{customerid}"
       }                                               
}

问题答案:

如果您可以控制生成的内容,那么最简单的方法是将输入格式设置为单行json,然后使用json_lines编解码器。

只需将您更改stdin为:

stdin { codec => "json_lines" }

然后就可以了:

cat input_file.json | logstash -f json_input.conf

其中input_file.json具有以下行:

{"customerid":1,"nested": {"json":"here"}}
{"customerid":2,"nested": {"json":"there"}}

然后您将不需要json过滤器。



 类似资料:
  • 我正在将JSON插入Google Big Query中。问题的底部是JSON的模式。 下面是一个JSON示例: 如您所见,有一个“_source.fullname”字段带有“Mike Smith”。 当我试图用它创建表时,它出错了: 为非重复字段指定的数组:_source.fullname。 我相信这个字段是_source的一次性字段。我如何克服这个错误? 下面是模式:

  • 问题内容: 我正在努力解决这个问题。我有一个JSON文件,需要将其放到CSV中,如果结构是扁平的,没有深层嵌套的项目,就可以了。 但是在这种情况下,嵌套会使我烦恼。 我将如何以这种格式获取数据: 每个对象和对象中的每个种族? 我想这样输出到CSV: 所以首先我得到正确的密钥: 然后添加数据: 但是如何? 对于您熟练的forlooper来说,这应该是一个有趣的过程。 问题答案: 我只收集第一个对象的

  • 我想将json文件数据导入弹性搜索。这是我的logstash配置文件- 输入{file{type= 输出{stdout{codec= 这是我的json文件--- {"水果":"苹果","大小":"小","颜色":"红色" }, { "水果":"木瓜","大小":"大","颜色":"黄色"测试":"甜"} 我使用这个命令执行了上面的配置文件---- 但我在弹性搜索索引中得到了如下数据-- 请帮我获得

  • 问题内容: 我有嵌套的JSON对象,例如 而且我需要获取_events数组并对其进行解析。但是我不知道_events之前的单元格中的内容以及它们的状态。如何使用这种结构? 问题答案: 就像这样使用它: 这是一个有效的jsFiddle:http : //jsfiddle.net/ErHng/( 注意 :它会输出到控制台,因此您需要/ 在chrome中或在Firefox中打开firebug,然后重新运

  • 本文向大家介绍C++中rapidjson将嵌套map转为嵌套json的讲解,包括了C++中rapidjson将嵌套map转为嵌套json的讲解的使用技巧和注意事项,需要的朋友参考一下 rapidjson将嵌套map转为嵌套json------人生苦短,我用rapidjson 看代码: 结果: {"code":0,"score":80,"name":"taoge","place":"shenzhen