PHP поиск по ключевым словам
У меня есть таблица в базе данных с записями, содержащими ключевые слова, а также другие данные. Что было бы логичным способом создать функцию поиска, которая позволяла бы людям осуществлять поиск по ключевым словам и упорядочивать результаты по количеству подходящих ключевых слов?
2 ответа
Решение
Mysql предоставить FULLTEXT
варианты поиска. Проверьте эту ссылку MySQL полный текстовый поиск. Эти результаты поиска будут отсортированы в соответствии с наилучшим соответствием. он также имеет поддержку логического режима и режима естественного языка (по умолчанию). Вам нужно добавить 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;