首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在elasticsearch中索引和查询字典数据类型?

如何在elasticsearch中索引和查询字典数据类型?
EN

Stack Overflow用户
提问于 2020-10-07 15:43:42
回答 1查看 69关注 0票数 0

我的记录如下:

代码语言:javascript
运行
复制
{
   "host":"192.168.1.2",
   "metric_value_string":{"192.168.1.5":0,"192.168.1.4":44,"192.168.1.7":32,"192.168.1.8":1,"192.168.1.6":12}"
}

"metric_value_string“的类型是文本。

我想查询特定时间范围的特定主机,并根据它们的值对IP进行排序。我不知道我应该使用什么数据类型。当时我使用了logstash json filter,它为每个IP创建了一个字段:

代码语言:javascript
运行
复制
{
"host":"192.168.1.2",
"metric_value_string":{
    "192.168.1.5":0,
    "192.168.1.4":44,
    "192.168.1.7":32,
    "192.168.1.8":1,
    "192.168.1.6":12,
    "192.168.1.9":12
}

"metric_value_string“数据类型是嵌套的。

任何帮助我们都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-10 17:20:34

我找到了解决方案:

代码语言:javascript
运行
复制
filter {
         json{
               source => "metric_value_string"
               target => "metric_value_string"
             }
         ruby{
              code => "def filter(event)
                              if !(event.get("metric_value_string")==nil)
                                  arr=Array.net
                                  event.get("metric_value_string").each_pair {|key, value | arr.push(["ip"=>key,"value"=>value])}
                                  event.set("metric_value_string",arr)
                              end
                       return [event]
                        end
                       "
              }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64239510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档