首页 > 解决方案 > Elasticsearch 返回数组中的特定索引(_source 字段)

问题描述

我遇到了只返回数组的特定元素的问题。

查询现在看起来像这样:

GET /processdata/_search
{
  "query": {"match_all": {}}, 
  "_source": "data.cells"
  "size": 1
}

我的回答是(3 个类似的数据条目与单元格数组):

...
"_source": {
      "data": [
        {
          "cells": [
            {
              "temp": 33,
              "volt": 12
            },
            {
              "temp": 40,
              "volt": 13
            }
          ]
        },
        {
          "cells": [
            {
              "temp": 34, <-- THIS IS THE VALUE I NEED
              "volt": 12
            },
            {
              "temp": 40,
              "volt": 13
            }
          ]
        },
        {
          "cells": [
            {
              "temp": 35,
              "volt": 12
            },
            {
              "temp": 40,
              "volt": 13
            }
          ]
        }
      ]
    }

现在我只想检索“data”数组中第二个“data”对象的数据。在这个“数据”对象中,我想选择“cells”数组的第一个“cell”条目的“temp”值。

我试过这样的事情:

GET /processdata/_search
{
  "query": {"match_all": {}}, 
  "_source": "data[1].cells[0].temp",
  "size": 1

}

标签: elasticsearch

解决方案


推荐阅读