Суть:
Есть несколько таблиц: новости, страницы, товары и тд.
Задача сделать поиск фразы по этим таблицам в нескольких полях (загловок, текст, длинный текст)
и отсортировать по релевантности
Как это лучше реализовать?
Пока вижу варианты объединять таблицы с помощью union.
Либо создать специальную таблицу для поиска куда синхронизировать все тексты. Заодно почистить от тегов.
Несколькими запросами не получится как я понял ибо сортировка по релевантности у каждого будет своя.
Хотелось бы обойтись без сложных решений вроде sphinx. (Не та задача.)
Всё же попробуйте Sphinx. Помимо высокой производительности, в нем большая работа проделана по повышению релевантности. В свежем номере журнала «Хакер» есть интервью с Андреем Аксеновым (разработчиком Sphinx), он рассказывает об основных принципах, по которым он работает.
С помощью Sphinx вы серьезно повысите качество выдачи, относительно способа, которым хотите решить задачу «в лоб».