Я хотел бы создать поиск по всему сайту для веб-сайта, где весь контент (или, по крайней мере, доступный для поиска контент) должен храниться в базе данных. Лучший способ, которым я могу думать об этом без особого участия, заключается в следующем:Основная методология поиска на сайте?
- Пользователь вводит поисковый запрос - «коричневые кожаные диваны».
- Разделить запрос на массив.
- База данных поиска (mysql) с использованием LIKE% $ val% для каждой строки массива.
- Загрузите результаты в массив, а затем дайте каждому результату +1 точку для количества поисковых терминов, найденных в контенте.
- Если результаты имеют соответствующее количество условий, то укажите количество просмотров определенной страницы - показатель популярности.
Не слишком сложно реализовать такие вещи, как предоставление большей ценности результатам с условиями поиска в заголовке страницы или предоставление пользователям возможности поиска многословных фраз посредством использования котировок.
Помимо соображений производительности - ограничение возвращаемых результатов, кэширование и т. Д., Есть ли что-нибудь еще, что мне нужно рассмотреть или лучший способ приблизиться к этому (помимо внедрения окна поиска Google)?
Вы изучали поисковые серверы, такие как [Sphinx] (http://sphinxsearch.com/)? – ESG