弹性搜索存储:如何获取_source下的字段名称列表?

时间:2018-08-27 10:32:21

标签: elasticsearch

对于使用Elastic搜索存储并寻找线索来查找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": ""
          }
       }
      ]
    }
  }

因此,从上面的示例中,我想获取_source下的字段名称,例如email,product_0,product_price_0和link_0。我一直在通过解析从ess api返回的数组来检索值,但是应该在什么位置?标记以获取字段名称$ result ['hits'] ['hits'] [0] ['_ source'] [?]

注意:我正在使用php将数据插入ESS并从中检索数据。

1 个答案:

答案 0 :(得分:0)

如果我正确理解,您需要array_keys

array_keys($result['hits']['hits'][0]['_source'])