Views, 2 запроса как один

Главные вкладки

Аватар пользователя SYr SYr 21 января в 11:29

Приветствую!

Подскажите пожалуйста, как решить вроде-бы не сложную задачу, но я не могу сообразить

Как создать вьюс с открытым фильтром по тайтлу с следующим функционалом, допустим ввел «поисковая строка» получить выдачу:
SELECT * FROM node WHERE title LIKE "%поисковая строка%" ORDER BY created DESC и затем сразу SELECT * FROM node WHERE title LIKE "%поисковая%" AND title LIKE "%строка%" AND title NOT LIKE "%поисковая строка%" ORDER BY created DESC

Т.е. чтобы это было одним запросом, остальные фильтры пейджинг и так далее чтобы были едины!

Спасибо!

Комментарии

Аватар пользователя Andruxa Andruxa 21 января в 13:25

Сомнительно, что легко получится реализовать пагинацию: в результатах первого запроса может быть больше записей, чем указано в настройках пагинации, в этом случае второй запрос вообще не следует выполнять, на следующей странице пагинации - надо вывести оставшиеся результаты первого запроса и во втором запросе уменьшить LIMIT на кол-во результатов первого запроса ну т.п.

Похоже, что целью является сделать выдачу результатов поиска, отсортированных как бы по релевантности - сначала точные совпадения, затем ноды, в заголовках которых встречаются искомые слова поискового запроса.
Для этого есть Search API