php – Cloudsearch边界框过滤器
发布时间:2020-12-13 16:55:17 所属栏目:PHP教程 来源:网络整理
导读:我有以下CloudSearch查询 $query = array('query' = '(and expiry:[' . $time . ',} updatetime:[100,} type:'all')','queryParser' = 'structured','queryOptions' = '{"defaultOperator":"and"}','sort' = 'distance asc','return'='_all_fields,_score,d
我有以下CloudSearch查询
$query = array( 'query' => '(and expiry:[' . $time . ',} updatetime:[100,} type:'all')','queryParser' => 'structured','queryOptions' => '{"defaultOperator":"and"}','sort' => 'distance asc','return'=>'_all_fields,_score,distance','size' => 5000,'expr'=> '{"distance":"haversin(' . $lat . ',' . $lon . ',location.latitude,location.longitude)"}','start'=>$start,'fq'=>'location:['35.628611,-120.694152','35.621966,-120.686706']' ); 查询除FQ部分外,其意图是fq会将结果限制在边界框区域内.但尽管有它,但它并没有限制结果.远远超出该区域的结果正在返回,我需要更改此内容才能使其正常工作? 解决方法
我有解决这个问题的方法
尽管aws文档在示例中将其称为fq,但它实际上是filterQuery 另请注意,位置点顺序是左上角,右下角 $query = array( 'query' => '(and expiry:[' . $time . ',' . $lon . ','filterQuery'=>'location:['35.628611,-120.686706']' ); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |