我试图在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文档,但似乎找不到答案,因此将不胜感激,在此先感谢您

最佳答案

试试这个

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

关于elasticsearch - 在Kibana和C#NEST中使用逻辑AND查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61365262/

10-16 02:43
查看更多