У меня есть таблица с заголовками и ключевыми словами, которые я бы хотел найти. Я хочу добавить возможность использовать многопользовательский поиск, но тогда он должен определенно отсортировать результаты по релевантности. FullTextSearch не является вариантом, потому что я использую MySQL5.5 и innoDB.поиск нескольких значений, сортировка по релевантности (php + MySQL, полнотекстовый поиск)
Мой текущий подход заключается в следующем:
- Я поиск для каждого члена в отдельности и соответствующие идентификаторы магазина в массиве PHP.
- Как только я искал все термины, я подсчитываю идентификаторы и сортирую их соответственно.
Что мне сейчас интересно, если есть более эффективный способ сделать это, поскольку я в первую очередь использую php для этого. Должен ли я выполнять часть этой обработки в базе данных? Должен ли я сильно изменить свой подход?
Таблица относительно небольшая (менее 10 тыс. Записей), и я не ожидаю, что она станет намного больше в ближайшем будущем.
Любые предложения? Благодарю.
Возможно, вам поможет получить код, если вы его показали, и предоставили дополнительную информацию о схеме и запросах таблиц. – DevlshOne
@DevlshOne: Я использую Joomla, поэтому мое взаимодействие с базой данных похоже на pdo, и я использую REGEX (по одному термину за раз), но я могу легко изменить его на инструкции LIKE. Я просто не хотел, чтобы какой-то конкретный синтаксис мешал мне, меня интересует, есть ли способ переместить некоторые из этих функций в базу данных, чтобы он работал быстрее или был другой, радикально отличный подход, который я следует рассмотреть. Однако, спасибо. – mattosmat
Смотрите, может быть, это может помочь: http://stackoverflow.com/a/35512410/1673161 –