Сведения о вопросе

Killer

20:30, 14th August, 2020

Sphinx: ограничение выдачи с использованием REGEXP (или правил)

Просмотров: 322   Ответов: 2

Возник вопрос- возможно ли ограничить выдачу используя регулярку?
Пример- «Какая-то страшная строка с TTX600MXP» или «Другая строка 700PX» или «Еще строка YYY2000».
Поиск происходит по «600». Если я ищу в режиме «всё равно что справа и слева» *600*, то получаю в результатах также: 1600, 6001, ..., и где-то снизу то что нужно.
Есть ли возможность на стороне sphinx искать [A-zА-я]600[А-zА-я] и выдавать «TTX600», «600W», «RPM600GHY». Тоесть записи, в которых слева или справа от числа есть буквы.

PS: Документацию читал, но там этот вопрос как-то не освещен. Англоязычные форумы вроде как советуют это программно решать, но когда в выдаче пару тысяч результатов это накладно.



  Сведения об ответе

davran

10:58, 10th August, 2020

Проблему решил добавлением экстра-столбца в таблицу, по которой строится индекс.
В этот столбец я записываю все дополнительные комбинации.


  Сведения об ответе

padenie

09:02, 2nd August, 2020

Нет, в Sphinx нельзя использовать регулярные выражения.

Там присутствует некий язык поисковых запросов sphinxsearch.com/docs/current.html#boolean-syntax но прям регулярки использовать нельзя


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться