小编mvr*_*ijn的帖子

Java中的关联数组

我收到List<org.apache.avro.generic.GenericRecord>的数据内容如下所示(为清晰起见,使用了JSON表示法).如何使用Java最好地保存这些记录类型?

记录1:

   [
    {
      "serial_no" : "x",
      "data1" : "d"
    },
    {
     "serial_no" : "y",
     "data2" : "d2"
    },
    ............................MANY MORE
   ]
Run Code Online (Sandbox Code Playgroud)

记录2:

   [
    {
      "id":"x",
      "type":"A"
    },
    {
      "id" : "x",
      "type" : "B"
    },
    {
      "id" : "y",
      "type" : "A",
    },
    { 
      "id" : "y",
      "type" : "B"
    } 
   ]
Run Code Online (Sandbox Code Playgroud)

如您所见,每个serial number记录中都有两条记录.serial_no在record1中与idrecord2中相同.

我的目标是:找到这两条记录的最有效方法.

解决方案我认为:

像这样创建一个地图

      map.put("x", [map.put("A",List), map.put("B",List)]);
Run Code Online (Sandbox Code Playgroud)

但我觉得,它是一个复杂的结构.因为地图包含地图列表[each map is Map<String,List<Map<String,String>>>].

有什么建议?

编辑

记录中的每个条目都是 …

java dictionary list avro

5
推荐指数
1
解决办法
115
查看次数

弹性Java客户端从HTTP API返回不同的结果

我有一个使用Elasticsearch Java API(5.6.7)的应用程序来执行聚合查询(术语).我使用curl和HTTP API(显示相关信息)创建了以下搜索文档:

{
  "from" : 0,
  "size" : 0,
  "sort" : [
    {
      "@timestamp" : {
        "order" : "desc"
      }
    }
  ],
  "aggregations" : {
    "level" : {
      "terms" : {
        "field" : "level.keyword",
        "size" : 10,
        "min_doc_count" : 1,
        "shard_min_doc_count" : 0,
        "show_term_doc_count_error" : false,
        "order" : [
          {
            "_count" : "desc"
          },
          {
            "_term" : "asc"
          }
        ]
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

既然已经在我的Java程序中实现了查询,我注意到结果与HTTP API结果不同!

都返回确切的关于碎片相同元信息,点击次数等:

{
  "took": 1,
  "timed_out": false, …
Run Code Online (Sandbox Code Playgroud)

java elasticsearch elasticsearch-5

5
推荐指数
1
解决办法
422
查看次数

标签 统计

java ×2

avro ×1

dictionary ×1

elasticsearch ×1

elasticsearch-5 ×1

list ×1