我有一个这样的映射:
{
printings: {
type: "nested",
properties: {
prop1: {type: "number"}
}
},
prop2: {type: "number"}
}
然后我想构建一个像这样的无痛查询:
"script": {
"lang": "painless",
"inline": "doc['prop1'] > (3 * doc['printings.prop2'])"
}
但是在 Sense 中测试此功能不起作用。如果我用一个简单的数字替换嵌套的 prop2 那么它就可以工作。有没有办法在单个脚本查询中访问根和嵌套 Prop ?
最佳答案
您可以尝试以下查询。
{
"query": {
"script": {
"script": {
"lang": "painless",
"inline": "params['_source']['prop1'] > (2 * params['_source']['printings']['prop2'])"
}
}
}
}
但是请记住,_source
非常慢。了解更多关于 here
关于 Elasticsearch 5.4 : Use normal and nested fields in same Painless script query?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43924266/