Elasticsearch возвращает определенный индекс в массиве (поле _source) - PullRequest
0 голосов
/ 08 февраля 2019

У меня проблема с возвратом только определенных элементов массива.

В данный момент запрос выглядит следующим образом:

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».И в этом объекте «data» я бы хотел выбрать «temp» значение первой записи «cell» массива «cell».

Я пробовал что-то вроде этого:

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

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...