对于我创建的用户内容网站,它有很多子部分:电影,工作,人员,照片,邮件等。它就像一个雅虎门户网站,但非常非常详细与信息搜索一样,像每个主题一样尽可能深入,不像任何网站。我有在密码学php和mysql中开发的网站。搜索可以在所有子站点和每个子部分都是全球性的,就像我们在谷歌,雅虎上看到的那样。在我的系统中有22个可能的用户内容对象,每个对象都有大约12-15个搜索字段,我称之为对象元数据+ I,这是我想在搜索中包含的历史数据(如用户内容版本控制)。用户内容全站搜索 - PHP/MySQL
现在的问题是为每个子部分搜索它似乎是合理的,因为范围是有限的,所以我想我可以很好地使用mysql。我没有预见到任何性能问题。但是,对于网站搜索,它不仅会搜索标题名称,还会搜索关键字,标签,描述,包括用户的邮件,评论,历史数据等。所以我担心的是性能。由于这是一家初创公司,我的硬件资源有限,所以我必须100%依靠数据库和代码来实现它。
那么从代码和数据库的角度来看,实施这样一个搜索的最佳实践是什么?应该根据子站点来使用数据库的混合?目前一切都存储在1个mysql数据库中。但是我发现问题可以很好地适用于人们搜索,电影搜索等,但是如果我包括邮件搜索,地理位置,历史数据搜索,甚至不得不去搜索诸如照片标签,照片描述等项目,的全局搜索可能会由于大量的连接和行数而导致性能问题。