我的问题是带有位置的亚马逊 cloudSearch ..
当我对具有位置的搜索产品使用排名表达式时发现此错误
[“信息”]=> 对象(stdClass)#16(4){ [“摆脱”]=> 字符串(80)“ee6c7090a20a654dbfd52a5f2ce0eeb96e766f609a8889bc1af02ab95e4065a6ce8ed690aa624373” [“时间-毫秒”]=> 整数(4) [“CPU时间-毫秒”]=> 整数(0) [“消息”]=> 数组(2){ [0]=> 对象(stdClass)#17(3){ [“严重性”]=> 字符串(7)“警告” [“代码”]=> 字符串(27)“CS-RankExpressionParseError” [“消息”]=> string(328) "无法解析排名表达式 (rank-geo=Math.sqrt(Math.pow(Math.abs(22345345-534534),2) Math.pow(Math.abs(934593495-34534534),2)) ):ANTLR 解析器返回:-memory-(1):错误 10:缺少令牌,偏移量 47 附近 [索引:0(开始:0-停止:0)='',类型 <7> 行:1 LinePos:47] : 缺少 RPAREN " } [1]=> 对象(stdClass)#18(3){ [“严重性”]=> 字符串(7)“警告” [“代码”]=> string(41) "CS-InvalidFieldOrRankAliasInRankParameter" [“消息”]=> string(47) "无法为等级 'bininet' 创建分数对象" } } }
而我的搜索请求网址是
htp://www.search_endpoint."/search?bq=".urlencode($term)."&rank=geo&rank-geo=Math.sqrt(Math.pow(Math.abs(22345345 - 534534),2)+Math .pow(Math.abs(934593495 - 34534534),2))&size=$size&start=$start&return-fields=".implode(',',$return_fields
我在哪里做错了?没有等级表达它工作正常。我认为错误出现在位置的定义表达式中,但找不到任何其他解决方案请帮助我。
谢谢