Для веб-сайта с пользовательским контентом, который я создаю, на нем есть много подразделов: фильмы, вакансии, люди, фотографии, почта и т. Д. Это похоже на портал Yahoo, но очень подробный с поиском информации, как будто я niching каккак можно глубже по теме в отличие от любого сайта там.У меня есть сайт, который разрабатывается в php и mysql codeignitor.Поиск может быть глобальным по всем дочерним сайтам и по отдельным подразделам, как мы видим на Google, Yahoo.В моей системе 22 возможных объекта пользовательского контента, каждое из которых имеет около 12-15 полей поиска, которые я называю метаданными объекта + я храню исторические данные (например, контроль версий пользовательского контента), которые я хочу включить в поиск.
Теперь вопрос о поиске по подразделам кажется разумным, потому что область действия ограничена, поэтому я думаю, что смогу хорошо справиться с MySQL.Я не предвижу никаких проблем с производительностью.Но для поиска по всему сайту он будет искать не только названия заголовков, но и ключевые слова, теги, описание, включая почту людей, комментарии, исторические данные и т. Д. Поэтому меня беспокоит производительность.Так как это стартап, у меня ограниченные аппаратные ресурсы, поэтому я должен на 100% зависеть от базы данных и кода.
Итак, каковы наилучшие практики для осуществления такого поиска с точки зрения кода и базы данных, и следует ли использовать смесь баз данных в зависимости от подузла?В настоящее время все хранится в 1 базе данных MySQL.Но я вижу проблемы, когда он может работать нормально для поиска людей, поиска фильмов и т. Д., Но не в том случае, если я включаю поиск по почте, географическое положение, поиск по историческим данным и даже необходимость поиска таких элементов, как теги фотографий, описания фотографий и т. Д. -> все частиглобального поиска могут быть проблемы с производительностью из-за большого числа объединений и количества строк.