Эластичное хранилище поиска: как получить список имен полей в _source? - PullRequest
0 голосов
/ 27 августа 2018

Я очень новичок в использовании Elastic search storage и ищу подсказку, чтобы найти список всех полей, перечисленных в under_source.До сих пор я сталкивался со способами выяснения значений для различных полей, определенных в _source, но не со списком всех полей.Например: у меня есть документ ниже

   {
      "took": 1,
      "timed_out": false,
      "_shards": {
      "total": 5,
      "successful": 5,
      "skipped": 0,
      "failed": 0
   },
   "hits": {
      "total": 2,
      "max_score": 1,
      "hits": [
       {
         "_index": "my_product",
         "_type": "_doc",
         "_id": "B2LcemUBCkYSNbJBl-G_",
         "_score": 1,
         "_source": {
             "email": "123@abc.com",
             "product_0": "iWLKHmUBCkYSNbJB3NZR",
             "product_price_0": "10",
             "link_0": ""
          }
       }
      ]
    }
  }

Итак, из приведенного выше примера я хотел бы получить имена полей, такие как email, product_0, product_price_0 и link_0, которые находятся в _source.Я получаю значения путем анализа массива, возвращенного из API-интерфейса ess, но что должно быть в?пометить, чтобы получить имена полей $ result ['hit'] ['hit'] [0] ['_ source'] [?]

Примечание: я использую php для вставки данных в ESS и получения данных изэто.

1 Ответ

0 голосов
/ 28 августа 2018

Если я правильно понял, вам нужно array_keys

array_keys($result['hits']['hits'][0]['_source'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...