讲解Sphinx/Coreseek在windows下的配置安装及测试
在windows下Sphinx\Coreseek的配置安装与测试
一、安装: 1. 安装Python 2.6 Windows (x86)(必须,32位系统和64位系统均安装该版本):从ActiveState官方网站下载ActivePython 2.6 Windows (x86),然后安装;您也可从华军软件园下载ActivePython 2.6 Windows (x86),然后安装; 2. 安装 Microsoft Visual C++ 2005 Redistributable Package (x86)(必须,32位系统和64位系统均安装该版本):从微软官方网站下载Microsoft Visual C++ 2005 Redistributable Package (x86),然后安装; 3. 安装 Coreseek-3.2.13(必须):【2010年11月14日更新,支持命令行中文搜索测试】从Coreseek官方网站下载 http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.13-win32.zip解压coreseek-3.2.13-win32.zip到coreseek-3.2.13-win32目录,重命名为sphinx,任意存放。
二、coreseek中文全文检索测试 直接运行coreseek-3.2.13-win32目录下的test.cmd文件,如果没出任何问题,则一切测试正常,相关手工命令测试请访问:http://www.coreseek.cn/products-install/install_on_windows/
三、部分命令的说明使用这一切命令的输入都在“cmd命令提示符”窗口里操作,假如:把sphinx目录放在D盘下,以下的所有例子将以这路径操作,不再说明。
1)、创建全部索引:
(注:这里的索引不是数据库里的索引,是不同的概念,这只对于coreseek而言,别混淆)
bin\indexer –c etc\csft_mysql.conf --all
备注:其中etc\csft_mysql.conf就是刚才的配置文件相对路径;如果修改了数据库中的数据,则要重建索引,类似于刷新,因为创建索引后会自动把数据库中的数据存储到内存中,所以必须重建索引。
2)、创建个别索引:
bin\indexer –c etc\csft_mysql.conf 索引名称1 索引名称2 …
3)、启动搜索服务:
bin\searchd –c etc\csft_mysql.conf --console
备注:启动服务后,当前的cmd窗口不能使用,使用搜索服务时不能关掉窗口,如想在cmd窗口中进行操作,可另打开一个cmd窗口。
4)、停止搜索服务:
直接Ctrl+C
5)、搜索关键字:
bin\search –c etc\csft_mysql.conf –a 关键字1 关键字2 …
四、连接mysql数据库及搜索内容:在etc\下有两个配置文件csft.conf 和 csft_mysql.conf ,其中第一个是测试安装成功与否,跟数据库无关;第二个是与数据库连接,相关参数大家可以用编辑器打开参考(建议不要用记事本);往后要配置自己的文件,可以参考csft_mysql.conf文件内容的格式,往下我们以例子讲解。
1、 创建数据库test ,编码为utf-8,数据库SQL脚本如下:
(如果不懂得这一步的,可以去参数有关mysql数据库资料)
CREATE TABLE test.documents
(
id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT,
group_id INTEGER NOT NULL,
group_id2 INTEGER NOT NULL,
date_added DATETIME NOT NULL,
title VARCHAR(255) NOT NULL,
content TEXT NOT NULL
);
REPLACE INTO test.documents ( id, group_id, group_id2, date_added, title, content ) VALUES
( 1, 1, 5, NOW(), '测试文档第一条', 'this is my test document number one. also checking search within phrases.' ),
( 2, 1, 6, NOW(), '测试文档第二条', 'this is my test document number two' ),
( 3, 2, 7, NOW(), '其它文档', 'this is another group' ),
( 4, 2, 8, NOW(), '第四条文档', 'this is to test groups' );
2、 配置数据库文件,这里使用官方准备好的配置文件 csft_mysql.conf ,里面已配置好与数据库test连接,及对数据表的查询等。
详细说明请访问官网:http://www.coreseek.cn/products-install/mysql/
3、 创建索引,这里创建csft_mysql.conf配置中的全部索引
在cmd中输入 bin\indexer –c etc\csft_mysql.conf --all
成功创建索引后的信息
4、 启动coreseek搜索服务
在cmd中输入 bin\searchd –c etc\csft_mysql.conf --console
成功启动服务后的信息
5、 实现搜索功能
在documents表中,搜索字段content中的内容含有“document”字符串的记录
在另一个cmd中输入 bin\search –c etc\csft_mysql.conf –a document
搜索后显示的信息
这里把搜索到的记录信息显示出来,其中title=?????? ,这是乱码问题,具体解决方法可以参考官方资料