PHP / Sphinxsearch – поиск строки или lat lng

Мне нужно найти все результаты, когда название города совпадает с строкой OR, а широта и longitute – между заданными значениями. Мой индекс выглядит так:

sql_field_string = city sql_attr_float = lat sql_attr_float = lng 

Есть ли способ использовать атрибуты в запросе? Или я могу использовать в значениях запроса из $ s-> setSelect ()? Я знаю, что я могу легко фильтровать результаты, используя $ s-> setFilterFloatRange (), но условие для меня в этом случае очень важно.

Это прекрасно работает:

 $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'); 

но он дает мне строки, где находится город Амстердам и лат, lng между заданными значениями, но моя проблема в том, что мне не нужен фильтр (условие И), мне нужно ИЛИ.

Я также знаю, что могу использовать:

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

но я верю, что могу использовать «широту» только как фильтр.

Solutions Collecting From Web of "PHP / Sphinxsearch – поиск строки или lat lng"