gpt4 book ai didi

php - Cloudsearch 边界框过滤器

转载 作者:可可西里 更新时间:2023-10-31 23:19:48 26 4
gpt4 key购买 nike

我有以下 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\']'

);

关于php - Cloudsearch 边界框过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28162501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com