我正在使用按位存储的信息。
要在 elasticsearchs 脚本过滤器中处理它,我必须使用 MVEL。
MVEL Docs 说按位计算运算符是很常见的,所以:
& -> 按位与
| -> 按位或
^ -> 按位异或
如果我尝试使用此运算符在弹性搜索中按位计算弹性搜索失败并出现
SearchPhaseExecutionException[执行阶段[查询]失败,所有分片失败;分片失败
过滤器如下所示:
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"script": {
"script": "doc['options'].value == doc['options'].value | 2"
}
}
}}
字段“选项”映射为整数。像加号而不是管道这样的常用操作将正确运行并计算正确。
我的错误在哪里?