PHP/Sphinxsearch-搜索字符串或lat lng

PHP/Sphinxsearch-搜索字符串或lat lng,php,search,sphinx,Php,Search,Sphinx,我需要找到城市名称与字符串或纬度匹配,且经度在给定值之间的所有结果。我的索引如下所示: sql_field_string = city sql_attr_float = lat sql_attr_float = lng 有没有办法在查询中使用属性?或者可以在$s->setSelect的查询值中使用?我知道我可以使用$s->setFilterFloatRange轻松过滤结果,但在这种情况下,OR条件对我来说是必不可少的 这很好: $s->SetFilterFloatRange('lat',

我需要找到城市名称与字符串或纬度匹配,且经度在给定值之间的所有结果。我的索引如下所示:

sql_field_string = city
sql_attr_float = lat
sql_attr_float = lng
有没有办法在查询中使用属性?或者可以在$s->setSelect的查询值中使用?我知道我可以使用$s->setFilterFloatRange轻松过滤结果,但在这种情况下,OR条件对我来说是必不可少的

这很好:

$s->SetFilterFloatRange('lat', $_GET['lat'] - $_GET['distance'], $_GET['lat'] + $_GET['distance']);
$s->SetFilterFloatRange('lng', $_GET['lng'] - $_GET['distance'], $_GET['lng'] + $_GET['distance']);
$s->Query('@city Amsterdam');
但它给了我城市在阿姆斯特丹和lat之间的行,lng在给定值之间,但我的问题是我不需要过滤器和我需要的条件

我也知道我可以使用:

$s->setSelect('*, IF(lat<11,1,0) AS latitude');

但我相信我只能将“纬度”用作过滤器。

请发布您到目前为止尝试过的内容,一些示例输入,您期望的输出,以及您实际获得的输出。我已经开始在sphinx forum@barryhunter上回复此版本。谢谢,我害怕听到这是不可能的。最后,我使用addQuery API方法执行了2个查询,得到了一个计数更高的查询。