首页 > 解决方案 > 从弹性搜索中重构资源

问题描述

使用以下命令通过 Elastic 中的开发工具:

GET "my_index"/_search/?filter_path=hits.hits._source&size=1

我有 :

{
  "hits" : {
    "hits" : [
      {
        "_source" : {
          "@timestamp" : "2020-10-10T14:00:00.000Z",
          "Date" : "2020-10-10T14:00:00Z",
          "MeanValue" : 58.23516987
        }
      }
    ]
  }
}

这是 1 次命中的示例

我想知道是否可以使用 Painless Code 或 Elastic 中的任何其他解决方案来更改源密钥的名称并获得:

{
  "timestamp": "2020-10-10T14:00:00Z"
  "value" : 58.23516987
}

我是通过使用 REST API 获取数据来使用 Python 完成的,但我想知道是否有解决方案可以直接从 Elastic 搜索中获得该输出

标签: elasticsearchelkelasticsearch-painless

解决方案


不,您无法更改从 Elasticsearch 获得的响应的结构。

正如您所发现的,您可以使用filter_path仅返回一组选定的字段,但结构本身不能更改。


推荐阅读