elasticsearch - 弹性搜索存储:如何获取_source下的字段名列表?
问题描述
我对使用弹性搜索存储和寻找线索来查找在_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 并从中检索数据。
解决方案
如果我理解正确,您需要array_keys
array_keys($result['hits']['hits'][0]['_source'])
推荐阅读
- python - 基于pandas数据透视表aggfunc中其他列的事件值转换
- sap-fiori - 下拉发送值以提取值的注释
- javascript - 尝试提取响应时,JSON stringify 未按预期工作
- c# - public class object=new class() 和 public class object{get;set;} 有什么区别
- javascript - 使用 chart.js 在 x 和 y 轴上为重复数据绘制多个点的折线图
- fpga - 如何在没有 PS Logic 的情况下将数据从 FPGA 写入 DDR3 内存
- uwp - Win32应用程序关闭时如何关闭UWP App?
- r - 在ggplot中为多行着色
- node.js - @Exclude 装饰器不适用于 POST 方法,但适用于 GET 方法
- javascript - 点击输入时保持按钮焦点:Material-Ui