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

问题描述

我想“如何通过 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.*"]
    }
  }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...