如何编写Elasticsearch查询来匹配特定字段?

l3zydbqr  于 2022-12-17  发布在  ElasticSearch
关注(0)|答案(1)|浏览(124)

你好,我有一个云上的Elasticsearch示例(8.5.3)。

{
    "_index": ".ds-logs-elastic_agent-default-2022",
    "_id": "oc_PEIUBM9Mtr",
    "_score": "null",
    "_source": {
        "agent": {
            "name": "L51",
            "id": "df5fe808-af86",
            "ephemeral_id": "1a26250c-3c20",
            "type": "filebeat",
            "version": "8.5.2"
        },
        "log": {
            "file": {
                "path": "C:\\Program Files\\Elastic\\Agent\\data\\elastic-agent-c13f91\\logs\\elastic-agent-20221208-3.ndjson"
            },
            "offset": 210000
        },
        "elastic_agent": {
            "id": "df5fe808-af8",
            "version": "8.5.2",
            "snapshot": "false"
        },
        "message": "Source URI changed from \"https://artifacts.elastic.co/downloads/\" to \"https://artifacts.elastic.co/downloads/\"",
        "input": {
            "type": "filestream"
        },
        "log.origin": {
            "file.line": 138,
            "file.name": "artifact/config.go"
        },
        "@timestamp": "2022-12-14T13:23:01.182Z",
        "ecs": {
            "version": "8.0.0"
        },
        "data_stream": {
            "namespace": "default",
            "type": "logs",
            "dataset": "elastic_agent"
        },
        "host": {
            "hostname": "L51",
            "os": {
                "build": "190.21",
                "kernel": "10.0.19.51 (WinBuild.160101.0800)",
                "name": "Windows 10 Home Single Language",
                "type": "windows",
                "family": "windows",
                "version": "10.0",
                "platform": "windows"
            },
            "ip": [
                "fe80::52f2",
                "16.25.20.7",
            ],
            "name": "L51",
            "id": "d4d7",
            "mac": [
                "00-09-0F",
            ],
            "architecture": "x86_64"
        },
        "log.level": "info",
        "event": {
            "agent_id_status": "verified",
            "ingested": "2022-12-14T13:25:32Z",
            "dataset": "elastic_agent"
        }
    },
    "sort": [484]
}

现在我想写一个查询来访问'type'字段下的'agent',这是'filebeat'在这里,并将其传递到查询,使Elasticsearch显示所有的filebeat类型日志条目.到目前为止,我可以访问'_id'字段与以下查询:

GET /_search
{
  "query": {
    "term": {
      "_id": {
        "value": "oc_PEIUBM9Mtr"
      }
    }
  }
}

但是,我不知道如何获取内部字段“type”并将其传递给查询。请帮助。

mbzjlibv

mbzjlibv1#

简单来说就是这样:

GET /_search
{
  "query": {
    "term": {
      "agent.type": {
        "value": "filebeat"
      }
    }
  }
}

相关问题