У меня есть таблица в базе данных с записями, содержащими ключевые слова и другие данные.Каков был бы логичный способ создать функцию поиска, которая позволяла бы людям выполнять поиск по ключевым словам и упорядочивать результаты по количеству подходящих ключевых слов?
Mysql предоставляет FULLTEXT параметры поиска.Проверьте эту ссылку MySQL полный текстовый поиск .Эти результаты поиска будут отсортированы в соответствии с лучшим соответствием.он также имеет поддержку логического режима и режима естественного языка (по умолчанию).Вам необходимо добавить FULLTEXT индекс для столбца поиска.
FULLTEXT
Вот запрос, который будет работать для вас.
SELECT *, MATCH (ab,cd) AGAINST ('sample text' IN BOOLEAN MODE) AS relevancy FROM table_name WHERE MATCH (ab,cd) AGAINST ('sample text' IN BOOLEAN MODE) ORDER BY relevancy DESC;