ElasricSearch两个字段相加报错

简介: ElasricSearch两个字段相加报错

问题背景:

ES两个字段相加的查询报错:unsupported_operation_exception

{
"error":{
"root_cause":[
            {
"type":"unsupported_operation_exception",
"reason":"scripts of type [inline], operation [update] and lang [expression] are not supported"            }
        ],
"type":"unsupported_operation_exception",
"reason":"scripts of type [inline], operation [update] and lang [expression] are not supported"    },
"status":500}


问题原因:

脚本语法问题


解决方案

1、创建索引

PUT test3
{
  "mappings" : {
      "properties" : {
        "a1" : {
          "type" : "long"
        },
        "b1" : {
          "type" : "long"
        },
        "date1" : {
          "type" : "date"
        }
      }
    }
}


2、put数据

POST test3/_doc/001
{
 "a1":22,"b1":33
}


3、查询

GET test3/_search
{
    "from":0,
    "size":1,
    "query":{
        "match":{
            "a1":"22"
        }
    },
    "sort":{
        "a1":"desc"
    },
    "_source":{
        "includes":[
            "a1",
            "b1"
        ]
    },
    "script_fields":{
        "c1":{
            "script":{
                "lang":"expression",
                "source":"doc['a1'] + doc['b1']"
            }
        }
    }
}


适用范围

检索分析服务Elasticsearch版

相关文章
|
2月前
|
算法 前端开发
找出前缀异或的原始数组
找出前缀异或的原始数组
20 0
|
2月前
读取7个数(1—50)的整数值
读取7个数(1—50)的整数值。
32 2
|
8月前
定义求x的n次幂的函数,并返回计算结果
定义求x的n次幂的函数,并返回计算结果
|
6月前
|
SQL
解决SQLServerException: 转换 varchar 值 '12345678901' 时溢出了整数列的bug
解决SQLServerException: 转换 varchar 值 '12345678901' 时溢出了整数列的bug
140 0
|
7月前
不用任何比较运算符找出两个整数中的较大的值
不用任何比较运算符找出两个整数中的较大的值
54 0
|
8月前
|
存储 算法 JavaScript
设计并实现一个函数, 功能为给定一个存储为随机整数的数组,从中删除所有值为i的整数
设计并实现一个函数, 功能为给定一个存储为随机整数的数组,从中删除所有值为i的整数
|
11月前
|
PHP
thinkphp where两个字段相加值
thinkphp where两个字段相加值
130 0
统计二进制中1的个数,,,写一个函数,返回参数二进制中1的个数 写一个代码判断一个数字是不是2的n次方
统计二进制中1的个数,,,写一个函数,返回参数二进制中1的个数 写一个代码判断一个数字是不是2的n次方
101 0
设以下变量均为int类型,则值不等于7的表达式是
设以下变量均为int类型,则值不等于7的表达式是
576 0