【发布时间】:2019-04-02 09:34:09
【问题描述】:
Elastic 文档的结构如下:
...
"somefield": "somevalue",
"orders": [{
"version": 1,
"statusCode": 1
}, {
"version": 1,
"statusCode": 1
}, {
"version": 2,
"statusCode": 2
}, {
"version": 3,
"statusCode": 5
}, {
"version": 3,
"statusCode": 6
}
]
...
"orders" 是一个嵌套列表。我使用 inline sctipting 来计算列表的大小,如下所示:
"params._source.orders.size() < 4"
我必须添加一个条件来计算 statusCode 不是 5 而不是 6 的订单数。Linq 看起来像这样:
...orders.Where(o=>!(new[] {5, 6}).Contains(o.statusCode)).size()...
如何在 Painless 或 Groovy 中编写脚本?
这会导致异常:
params._source.orders.count { it -> it.statusCode == 1 } < 4
【问题讨论】:
标签: elasticsearch scripting nested elasticsearch-painless