首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在德鲁伊查询中同时添加“和”和“或”筛选器?

如何在德鲁伊查询中同时添加“和”和“或”筛选器?
EN

Stack Overflow用户
提问于 2020-09-08 17:55:14
回答 1查看 266关注 0票数 0

我试图同时编写一个德鲁伊查询(json文件),即“和”和“或”过滤器。我试过这个:

代码语言:javascript
复制
{
  "queryType": "select",
  "dataSource": "timeseries_db",
  "intervals": ["2020-09-08T17:00:00\/2020-09-08T17:30:00"],
  "pagingSpec":{ "threshold":100},
  "filter": {
    "type": "and",
    "fields": [
      {
        "type": "selector",
        "dimension": "orgid",
        "value": "864e1875-ea80-455b-a835-f75bed0df2a7"
      },
      "filter": {
        "type": "or",
        "fields": [
         {
           "type": "selector",
           "dimension": "host_name",
           "value": "testname.82fae43ca"
         },
         {
           "type": "selector",
           "dimension": "host_name",
           "value": "testname.09db12d4a"
         }
        ]
      }
    ]
  },
  "granularity": "all"
}

我想得到的记录的组织id是864e1875-ea80-455b-A 835-f75bed0df2a7,其主机名是testname.82fae43ca或testname.09db12d4a。

当我运行这个查询时,它会抛出"type“缺失的错误。但我包括了“类型”。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-09 08:00:42

您不需要在"filter"过滤器中添加额外的and。试试这个:

代码语言:javascript
复制
{
  "queryType": "select",
  "dataSource": "timeseries_db",
  "intervals": ["2020-09-08T17:00:00\/2020-09-08T17:30:00"],
  "pagingSpec":{ "threshold":100},
  "filter": {
    "type": "and",
    "fields": [
      {
        "type": "selector",
        "dimension": "orgid",
        "value": "864e1875-ea80-455b-a835-f75bed0df2a7"
      },
      {
        "type": "or",
        "fields": [
         {
           "type": "selector",
           "dimension": "host_name",
           "value": "testname.82fae43ca"
         },
         {
           "type": "selector",
           "dimension": "host_name",
           "value": "testname.09db12d4a"
         }
        ]
      }
    ]
  },
  "granularity": "all"
}

另一种方法是使用in过滤器,而不是在or中使用两个selector过滤器。

代码语言:javascript
复制
{
  "queryType": "select",
  "dataSource": "timeseries_db",
  "intervals": ["2020-09-08T17:00:00\/2020-09-08T17:30:00"],
  "pagingSpec":{ "threshold":100},
  "filter": {
    "type": "and",
    "fields": [
      {
        "type": "selector",
        "dimension": "orgid",
        "value": "864e1875-ea80-455b-a835-f75bed0df2a7"
      },
      {
        "type": "in",
        "dimension": "host_name",
        "values": ["testname.82fae43ca", "testname.09db12d4a"]
      }
    ]
  },
  "granularity": "all"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63799257

复制
相关文章

相似问题

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