Суть - найти элементы с помощью поиска, который будет сравнивать введенную строку с фамилией клиента, телефоном, номером столика (число от 1 до 63), датой и временем брони. Телефон в базе выглядит так - 79999999999, дата и время занесены в одно поле типа text и выглядит как 2019 11 25 09 00 00. Сейчас мой запрос выглядит так:
SELECT *, MATCH (name, telephone, table_number, date_time) AGAINST ('$search_query' IN BOOLEAN MODE) as
relev FROM reservations WHERE MATCH (name, telephone, table_number, date_time) AGAINST ('$search_query' IN BOOLEAN MODE)>0
ORDER BY relev DESC
$search_query как только не пытался строить - с числами какая-то беда. Не ищет. Фамилия и телефон ищутся, а номер столика и дата_время - нет.
Для примера $search_query +*36*+*Соколов* не выдаст ничего, хотя поле с такими данными есть.
А если *Соколов**36* то появятся все Соколовы и они не будут отсортированы. Да и если просто *36* ввести, то не появится ничего.
С датой например тоже непонятно. Match сравнивает всю строку? Должен ли вообще срабатывать *25**09* на строку 2019 09 25... или нет? Или *25 09*? Есть ли вообще разница в порядке чисел если они разделены пробелом?
Как я понял, цифры не ищутся... Или что? Как можно искать числа и дату? Может запрос изменить?