在Kibana和C# NEST中使用逻辑AND查询。

问题描述 投票:0回答:1

我正试图在Kibana中实现一个简单的查询,然后在C# NEST中实现。我是SQL背景的,正在努力寻找在Elasticsearch中执行一个相对简单的SQL查询的文档。我试图实现的查询实际上是.......

SELECT * FROM table 
WHERE logdate > STR_TO_DATE('2020-02-01 23:59:59','%Y-%m-%d %H:%i:%s')
AND logdate < STR_TO_DATE('2020-02-03 00:00:00','%Y-%m-%d %H:%i:%s')
AND username = 'user01'

我可以把它们作为单独的kibana查询来做......。

GET auditlog/_search
{
  "query": {
    "range": {
      "logdate": {
        "gt": "2020-02-01T23:59:59",
        "lt": "2020-02-03T00:00:00"
      }
    }
  }
}

GET table/_search
{
  "query": {
    "match": {
      "username": "user01"
    }
  }
}

但是当我尝试将它们组合成一个查询时,我得到了一个 "parsing_exception "的错误......。

GET auditlog/_search
{
  "query" : {
    "bool" : {
      "must": [
        {
          "match": {
            "username": "user01"
          },
          "range": {
            "logdate": {
              "gt": "2020-02-01T23:59:59",
              "lt": "2020-02-03T00:00:00"
            }
          }
        }
      ]
    }
  }
}

我看了Elasticsearch的文档,但似乎找不到答案,所以任何帮助都将是感激的,先谢谢了。

elasticsearch kibana nest
1个回答
1
投票

试试这个

GET auditlog/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "username": "user01"
          }
        },
        {
          "range": {
            "logdate": {
              "gt": "2020-02-01T23:59:59",
              "lt": "2020-02-03T00:00:00"
            }
          }
        }
      ]
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.