如何检查整数0是不是包含在数组中无痛,ElasticSearch

Posted

技术标签:

【中文标题】如何检查整数0是不是包含在数组中无痛,ElasticSearch【英文标题】:How to check if the integer 0 is contained in an array Painless, ElasticSearch如何检查整数0是否包含在数组中无痛,ElasticSearch 【发布时间】:2022-01-22 23:53:37 【问题描述】:

我是 Painless 脚本语言的新手,我相信我的问题很简单:我的数据中的一个字段是一个整数数组。我想添加一个运行时映射,如果数组中为 0,则该映射为 false,否则为 true。我尝试了以下方法:

PUT my_index/_mapping

  "runtime": 
    "success": 
      "type": "boolean",
      "script": 
        "source": "emit(doc['my_key'].contains(0))" 
    
  

每次返回都是“假”,所以我猜我做错了(我确定不是所有这些数组都包含 0)。

感谢您的帮助!

【问题讨论】:

【参考方案1】:

试试这个:

"source": "emit(doc['my_key'].indexOf(0L) >= 0)" 

【讨论】:

不幸的是,这也不起作用。我收到以下错误消息:“非法参数异常” 感谢您的努力,但仍然无法正常工作。这次我遇到了运行时错误。 查看我的更新答案,它对我很有效 是的,就是这样,对我也有用!非常感谢 太棒了,很高兴它成功了!

以上是关于如何检查整数0是不是包含在数组中无痛,ElasticSearch的主要内容,如果未能解决你的问题,请参考以下文章

如何检查数组是不是包含元素[重复]

如何检查数组是不是包含 JavaScript 中的值?

如何检查数组是不是包含 JavaScript 中的值?

如何确定数组是不是包含单独数组中的所有整数

如何检查数组中之前是不是出现过元素[重复]

检查数组是不是包含另一个数组及其在 DART/Flutter 中的位置