加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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']'

 );

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读