武红宽
【摘要】 随着用户的增多,酷友社区站内的帖子数据量不断增大。而现有的基于数据库的搜索对服务器的负载越来越大,严重时,能导致整个服务器跌机。重新构建酷友社区站内全文搜索的需求越发紧迫,本文研究的是基于sphinx服务实现酷友社区站内搜索,这样一来,用户也可以通过站内搜索引擎,更加快捷、准确地找到自己需要的内容。
【关键词】 sphinx 搜索 数据库
一、引言
对于酷友社区网站来说,随着信息量的逐步提升,内容越来越丰富,单纯的通过展示和网站架构已经无法满足用户查找内容的需要。另外,原有的基于MySQL数据库搜索。不仅搜索速度慢,而且会对酷友社区服务器的性能产生影响。这里,提出了一种基于sphinx服务实现酷友社区站内搜索。
二、总体设计
2.1总体框架设计
整体框架可以分为用户请求模块、PHP处理模块以及数据存储模块。这里我们的主要工作是对PHP处理模块进行sphinx服务的搭建。
2.2数据源的配置
数据源提供某种所需要数据的器件或原始媒体。在数据源中存储了所有建立数据库连接的信息。这里我们使用的MySQL数据库做为酷友社区的数据库,所以sphinx的数据源是从MySQL数据库的表里获取的。以下是对帖子表数据源的配置:
source threads
type = mysql #数据库类型
sql_host = 127.0.0.1 #数据库ip地址
sql_user = root #数据库登陆用户名
sql_pass = 123456 #数据库登陆密码
sql_db = coolpad_bbs_06_10 #数据库名
2.3索引的配置
索引与书籍中的目录结构有些类似,在一本书中,利用目录可以快速查找所需信息,而无须阅读整本书。sphinx中的索引数据是结构化文档的集合,每个文档是字段的集合。……