小编sam*_*sam的帖子

Elasticsearch - 数组上的脚本过滤器

我是ES中的新bie,我想使用脚本过滤器来获得所有匹配,即数组至少有一个小于max且大于min的元素(max和min是脚本中的param).

该文件如:

 {
  "number": "5",
  "array": {
    "key": [
      10,
      5,
      9,
      20
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试了脚本,但它不起作用

{
  "script": {
    "lang": "groovy",
    "params": {
      "max": 64,
      "min": 6
    },
    "script": "for(element in doc['array.key'].values){element>= min + doc['number'].value &&  element <=max + doc['number'].value}"
  }
}
Run Code Online (Sandbox Code Playgroud)

没有错误消息,但搜索结果是错误的.有没有办法迭代数组字段?

谢谢你们.

elasticsearch

3
推荐指数
1
解决办法
5879
查看次数

标签 统计

elasticsearch ×1