2014-12-27 9 views
2

Я борюсь с получением сфинкса поиска, чтобы работать на мой вопрос:сфинкс текст поискового запроса + всплывают

((@city "^Amsterdam" | @regio "^Amsterdam$") | (floatrange=lat,10,12)) 

Он отлично работает, когда я фильтровать результаты с помощью PHP API:

$s->SetFilterFloatRange('lat', 10, 12) 

но проблема я должен иметь условие ИЛИ. Мой источник выглядит следующим образом

sql_field_string = title 
sql_field_string = city 
sql_field_string = regio 
sql_attr_float = lat 
sql_attr_float = lng 

Если я пытаюсь

# search floatrange=lat,10,12 

Я также получаю 0 результатов ...

Любые идеи?

ответ

0

Вот не хороший вариант, но он должен работать

$ s-> addSelect ("если (в (город, 'Амстердам') или в (регион, 'Амстердам') или (лат> = 10 и lat < = 12), 1, 0) foo ");

$ s-> addFilter ("foo", 1);

Я по-прежнему пытаюсь найти более элегантное решение

Смежные вопросы