如何使用弹性搜索查询对象的键?

时间:2017-01-27 00:14:15

标签: json elasticsearch typescript nested

您好我的数据的结构如下:

TIdTCPServer.ContextClass

我的主要索引是在学生,因此我的属性如下

OnConnect

我正在进行此搜索:

OnExecute

归还正在学习英语的学生。然而什么都没有归还?任何人都可以建议我哪里出错了?

1 个答案:

答案 0 :(得分:4)

您应该检查 subjects.english 字段,而不是英语 因此,您的查询应如下所示:

{
"query": {
  "bool": {
     "must": [
        {
           "nested": {
              "path": "subjects",
              "query": {
                 "bool": {
                    "must": [
                       {
                          "exists": {
                             "field": "subjects.english"
                          }
                       }
                    ]
                 }
              }
           }
        }
     ]
  }
 }
}