PHP-多数据库内容如何实现全站搜索
我有一个站,www.abc.com,下面有子域名:news.abc.com,tech.abc.com,bbs.abc.com......
其中各个目录各自分开,各自开发,数据库有30多个,比如有news(新闻)库,tech...
主站www.abc.com的链接都是链接到其它子站,现在要在主站上做搜索功能?这个功能怎么做好?请提供思路?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
其实你可以在主站存每个业务的汇总表,每个业务一张汇总表,只存要搜索的字段和对应的库名,得知要获得的记录id再去字库查找,你还可以把用户的查询条件记下来,在后台做个队列,将这些查询条件对应的内容缓存下来,以便用户下次查询。
我说说我们这边类似你这样的实现吧。我们这里对于前端来说,分业务类型搜索,对于后端我们统一走搜索引擎Lucene,各个业务线对于需要被搜索的信息,在发布前统一推送到搜索引擎,这样搜索起来就方便了,我建议你这样的需求也统一走搜索引擎吧,速度快,而且这样简单。
我觉你可以像百度、谷歌那样,根据你的应用类型进行分类,比如:“音乐”、“图片”、“文库”等,这样就可以明确的去哪个库里搜索信息。然后对于跨表就比较好解决了,可以通过Union进行汇总,而且我相信你这个搜索的结果也不是一定要实时的,所以可以通过异步来进行。写个Cron定时进行汇总。