ElasticSearch - 如何按 JSON 字段中的特定字段查询文档

ElasticSearch - how to query documents by specific field in JSON field

我想“如何通过 JSON 字段中的特定字段查询文档?”

索引示例:

{
  "_index": "battery-2021.02.18",
  "_type": "_doc",
  "_id": "DulWt3cB6VaK5-_iGoEG",
  "_version": 1,
  "_score": null,
  "_source": {
    "@timestamp": "2021-02-18T22:50:02.125Z",
    "battery_log": {
      "battery_id": "BAT80031",
      "bms": {
        "event": {
          "fault_uvp": 0,
          "fault_dc_ocp": 0,
          "fault_switch_otp": 0,
          "warning_utp": 0,
          "fault_int_otp": 0,
          "fault_c_ocp": 0,
          "warning_module_dc_utp": 1
        }
        "etc": 0
      }
    }
  }
}

我想查询battery_log.bms.event.*等于1.

的文档

提前致谢。

使用 multi_match query,您可以这样做:

POST battery-2021.02.18/_search
{
  "query": {
    "multi_match": {
      "query": "1",
      "fields": ["battery_log.bms.event.*"]
    }
  }
}