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

php – Cloudsearch边界框过滤器

发布时间:2021-08-28 03:44:38 所属栏目:大数据 来源: https://www.jb51.cc
导读:我有以下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 . ',} 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,
'filterQuery'=>'location:['35.628611,-120.694152','35.621966,-120.686706']'

 );

(编辑:北几岛)

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

    推荐文章
      热点阅读