介绍:http://www.coreseek.cn/
Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景,用户可以免费下载使用;
Coreseek 全面支持: FreeBSD6/7/8,Mac OS X 10.6,RHEL5、CentOS-5、Fedora-12/13、gentoo-10、openSUSE-10/11、slackware-13.0/13.1、debian-5、ubuntu-9/10、archlinux-2010,WindowsXP、Windows2003、Windows7、Windows Server 2008等,32与64位操作系统均可使用,可支持MySQL、MariaDB、PostgreSQL、SQL Server、Oracle等多种数据库系统,
提供那些好处:
帮助用户找到您业务中,目前通过全网搜索找不到的80%的信息;
可以保证自己信息的私密性,这在公司组织中尤其重要;
降低服务器的运行负载,提高系统响应速度,从而大幅度降低您的运营成本;
为您的需求修改检索结果的展现方式,更好的组织数据;
帮助您发现用户提交的敏感文档或广告。
典型应用场景:
您在运营知识分享型的社区(Forum):
大量的新来用户对某些简单的问题反复发帖询问,版主不胜其烦;
大量宝贵的答案、精辟的见解被淹没在回复中,通过帖子主题检索不到;
为了降低服务器负载,您不得不限制用户每30秒才能使用搜索功能一次,用户很难受,您很难过;
为了提高服务质量,您寄希望于Google、百度这样的全网搜索引擎,但是您的数据更新可能不及时,更要命的是有些私密的主题,您不想让除了您和您的注册用户以外的第三方知道;
您在运营社会化社交网络(SNS):
如何让您的用户找到志同道合的朋友?
如何帮助用户更好的管理自己的Blog?
您在运营电子商务网站(e-Shop):
如何让每个访客尽快找到他/她感兴趣的商品,达成销售?
您每天需要处理大量的电子文档(CMS):
如何在最短的时间内找到您需要的文件
如何利用现有文件的内容加速您新文档的撰写工作?
全文检索 vs.数据库 http://www.coreseek.cn/home/why/
已知用户:http://www.coreseek.cn/products/ft_powered/
开源php系统结合:
PHPWind:阿里旗下德天信息发布的国内最受欢迎的通用型社区程序之一
Discuz! X:腾讯旗下康盛创想推出的通用社区软件系统;
PHPCMS:盛大旗下公司推出的国内领先的开源网站内容管理系统
CMSTOP:中国领先的内容管理系统软件与服务提供商思拓合众推出的媒体首选CMS内容管理系统
DedeCMS:织梦CMS是国内最知名的PHP开源网站管理系统
PHP168:中国南方最大的PHP开源系统提供商推出的开源CMS系统
安装
1、下载
从http://www.coreseek.cn/products-install/install_on_windows/ 下载coreseek win32版本,64位也可用
2、解压到D:coreseek-3.2.14-win32(随意)
3、进入目录点击其中test开头的文件,进行搜索测试
如不使用自带的test测试,必须从桌面-开始-运行-输入CMD,打开命令行窗口,然后执行:
CD D:coreseek-3.2.14-win32
SET PATH=%CD%in;%PATH%
再使用常用指令测试
4. 目录中的README.txt文件中,有所有配置和test测试文件的说明
5. 常用指令:(提示:a. 进入bin目录再执行指令,是错误的做法; b. 中文搜索或出现乱码或者无结果,需查看后面详细说明)
测试配置是否可用:binindexer -c etccsft.conf
测试索引全部数据:binindexer -c etccsft.conf --all
测试索引指定数据:binindexer -c etccsft.conf 索引名称(如:xml、mysql)
测试 命令行 搜索: binsearch -c etccsft.conf
测试 中文 搜索:binsearch -c etccsft.conf -a 网络搜索
测试 搜索服 务端: binsearchd -c etccsft.conf
分词mmseg
http://www.coreseek.cn/opensource/mmseg/
mmseg -u unigram.txt
数据源说明:
mysql数据源:http://www.coreseek.cn/products-install/mysql/
coreseek/sphinx中的匹配模式:
http://www.uedsc.com/296641.html
SPH_MATCH_ALL, 匹配所有查询分词(默认模式);
如“手机配件”,不匹配 “我有一部手机”,但可以匹配 “手机坏了,需要找配件”。
因为“手机配件” 被分成 “手机”,“配件”两个词,匹配条件是必须同时包含这两个词,所以“我有一部手机”不符合匹配要求。
SPH_MATCH_ANY, 匹配查询词中的任意一个分词;
如“手机配件”,会匹配“我有一部手机”,因为索引库只要包含任一个分词即可被搜到,当然也能匹配“手机坏了,需要找配件”。
SPH_MATCH_PHRASE, 将整个查询看作一个词组,要求按顺序完整匹配;
这个与select * from [tab] where key like ‘%手机配件%’相类似,如“手机配件”,不匹配 “手机坏了,需要找配件”,但可以匹配 “你这儿有手机配件吗?”。
SPH_MATCH_BOOLEAN, 将查询看作一个布尔表达式, 可以简单的与或非运算;
如( cat !dog ) | ( cat !mouse)
意思是搜索出所有匹配cat,但不匹配dog和mouse的查询分词。
索引更新
http://www.coreseek.cn/docs/coreseek_3.2-sphinx_0.9.9.html
3.11. 实时索引更新
D:coreseek-3.2.14-win32inindexer.exe --config D:coreseek-3.2.14-win32etccsft_hyw_sale.conf delta --rotate
D:coreseek-3.2.14-win32inindexer.exe --config D:coreseek-3.2.14-win32etccsft_hyw_sale.conf --merge main delta --rotate