前几天发了一个基于Sphinx原版的全文索引配置:
但由于不支持中文分词,也就是说对中文的搜索结果不够精准,不符合中文习惯,故奋发继续改进。
而Coreseek是一款基于Sphinx的开源检索引擎,专门为中文用户提供免费开源的中文全文检索系统,支持中文分词,甚至可以自定义字典。
经过几个小时的研究测试,懒人包终于出炉了!按照步骤,十几分钟可搞定!
本文基于coreseek(sphinx中文开发)3.2.14 最新稳定版 for windows通用版,适用于phpwind 所有支持全文索引的版本
从此,搜索不再是难题,搜索时再也不会卡死服务器!
已对PW主题、回复、版块、用户做了索引配置,日志和群组没有做。
没有考虑到主题和回复表分卷,如有分卷请先合并(除非你是超级站,否则强烈建议不要分表),或者自己修改配置文件,用merge命令来合并索引。
【安装说明】
一 解压coreseek到 D盘根目录(既然是懒人包,不要改用其他目录,否则出错)
二 修改配置文件
修改coreseek\etc 目录下的csft_mysql.conf 只需要修改MySQL账号,密码,数据库等,有多处,逐一修改
三 建立数据表,为增量搜索做记录,SQL执行:
CREATE TABLE IF NOT EXISTS `search_counter` (
`counterid` int(11) NOT NULL DEFAULT '0',
`max_doc_id` int(11) NOT NULL DEFAULT '0',
`min_doc_id` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`counterid`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
四 建立索引
CMD,切换目录到 d:\coreseek\,一定要这个目录,否则出错。
bin\indexer.exe --all --config d:\coreseek\etc\csft_mysql.conf 建立索引,可以看到进程,我1.5G的数据用了大约5分钟。如果一蹴而就,往往是配置错误,请检查配置文件,注意配置文件里的所有路径一定要用绝对路径。
五 添加系统服务并启动
bin\searchd.exe --install --config d:\coreseek\etc\csft_mysql.conf --servicename coreseek 添加为系统服务(一定要等索引建立完毕之后,否则出错)
net start coreseek 启动服务 (卸载时:sc delete coreseek 删除系统服务)
六 增量搜索计划任务,只对新帖索引,然后合并,这样就不用每次都全部建立索引了,半分钟搞定。
schtasks /create /sc minute /mo 480 /tn "coreseek" /tr d:\coreseek\searchdadd.bat(创建计划任务(按提示输入管理员密码),每8小时运行一次增量索引,可以根据自己情况,去控制面板-计划任务里修改)
七 PW后台-创始人-高级应用配置-开启sphinx(地址127.0.0.1,端口9312),大功告成!测试一下吧,主题、回复都可以搜索,毫秒级!
如有其他问题,可查阅coreseek官方使用文档: |