текст поискового запроса sphinx + float

Я пытаюсь заставить поиск по сфинксу работать по моему запросу:

((@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 результатов …

Есть идеи?

2

Решение

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

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

$ s-> addFilter («foo», 1);

Я все еще пытаюсь найти более элегантное решение

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]