【发布时间】:2015-08-11 23:57:21
【问题描述】:
动态值或变量在 elasticsearch“范围”查询中不起作用。
为了解释更多,这是一个弹性搜索范围查询,它找到从 1000 到 11100 的 productId,它工作得很好 ---
$json = '{
"query" : {
"range" : {
"productId" : {
"from" : '1000',
"to" : '11100'
}
}
}
}';
另一方面,对具有相同值的变量使用相同的查询会返回错误,例如 ---
{"error":"SearchPhaseExecutionException[执行阶段[查询]失败,所有分片失败;shardFailures
$a =1000;
$b = 11100;
$json = '{
"query" : {
"range" : {
"productId" : {
"from" : '$a',
"to" : '$b'
}
}
}
}';
有谁知道我在哪里犯了错误。
任何建议都会有很大帮助。提前致谢。
【问题讨论】:
-
当您删除 $a 和 $b 周围的引号时发生了什么(例如:“from” : $a 而不是“from” : '$a')
-
@vincent 它也返回同样的错误,我已经尝试过很多方法——$a 和 '.$a.'
-
你能粘贴完整的错误吗?
标签: elasticsearch