Построил индекс, состоящий из одного текстового поля и нескольких целочисленных.
С поиском по тексту проблем нет: выдачу получаю. Теперь нужно сузить выдачу, установив рамки по целочисленным значениям по аналогии с sql (where `value` between 10 and 20).
У меня два целочисленных поля: value и valuemax. Оба по умолчанию равны 0. Мне нужно выбрать записи, удовлетворяющие условию (value > 30 and valuemax < 100). Но: при этом valuemax может быть не заполнено и равно 0. Как в таком случае включить записи, у которых valuemax не заполнено?
Метод SetFilterRange позволяет отфильтровать одно поле. Допустим, мы задали границы таким образом:
$Sphinx->SetFilterRange('value', 30, 100);
$Sphinx->SetFilterRange('valuemax', 30, 100);
Но как включить в выдачу и те записи, где valuemax = 0 и по сути означает отсутствие границы?