elasticsearch - 如何从ElasticSearch检索脚本字段以及其他字段

标签 elasticsearch

我想动态计算一些值,并与原始字段一起检索计算出的值,而不仅仅是计算出的值。说,有字段“userId”,“值”。另外,我想计算“additionalParameter”。为此,添加了以下简单脚本:

"query": {
    "match": {
            "userId": "1161851"
        }
  },
  "script_fields": {
    "additionalParameter": {
      "script": {
        "lang": "painless",
        "source": "doc['value'] * factor",
        "params": {
        "factor": 2.0
    }
      }
    }
  }

但是,当执行上面的查询时,我仅获得AdditionalParameter:
{
        "_index" : "test_index",
        "_type" : "doc",
        "_id" : "dd57ba66-a31a-45f1-9948-18ff4fb27dc1",
        "_score" : 3.0488422,
        "fields" : {
          "additionalParameter" : [
            10.0
          ]
        }
      },
...

有谁知道将计算值附加到原始字段并检索所有内容的正确方法是什么?

最佳答案

在查询中添加_source

{
  "stored_fields": [
    "_source"
  ],
  "query": {
    "match": {
            "userId": "1161851"
        }
  },
  "script_fields": {
    "additionalParameter": {
      "script": {
        "lang": "painless",
        "source": "doc['value'] * factor",
        "params": {
        "factor": 2.0
    }
      }
    }
  }
}

关于elasticsearch - 如何从ElasticSearch检索脚本字段以及其他字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58937253/

相关文章:

spring-boot - 使用ElasticSearch启动Spring Boot应用程序时出错

Elasticsearch 。找不到自定义分析器

java - elasticsearch 进程的最大文件描述符太低

elasticsearch - 如何删除 Elasticsearch 索引中的所有渗透器查询

json - 如何检查嵌套类型elasticsearch对象中的缺失键?

elasticsearch - Kibana脚本字段中的Groovy脚本

elasticsearch - Kibana无法启动通过HTTP配置的Shield

elasticsearch - 在ElasticSearch中改善首次索引的方法

c# - Elasticsearch.Net.UnexpectedElasticsearchClientException 在反序列化结果

elasticsearch - Elastica - 如何添加过滤器 - 对象术语