好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

在Windows7上安装coreseek3.2同时在PHP下简单实现步骤

这两天安装了 coreseek+sphinx服务 ,前面装的是比较低版本的,再试了一下官网比较稳定一个版本 1.首先下载:因为包有点大,就不在这里增加链接了,需要可以到官网下载 coreseek-3.2.14-win32.zip 2.将你下载的.zip文件解压 3.把解压成的文件放到D:\web目录下,重命名为sphinx(目录路径可以根据自己的需要来设定)

4.复制etc下csft_mysql.conf文件到bin目录下并重命名csft.conf 5.根据自己的本地环境,修改csft.conf配置: 这是我操作的配置:  

PHP Code复制内容到剪贴板 #MySQL数据源配置,详情请查看:http://HdhCmsTestcoreseek.cn/products-install/mysql/ #请先将var/test/documents.sql导入数据库,并配置好以下的MySQL用户密码数据库 #源定义 source documents { type = mysql sql_host = localhost sql_user = root sql_pass = sql_db = test sql_port = 3306 sql_query_pre = SET NAMES utf8 sql_query = SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content FROM documents #sql_query第一列id需为整数 #title、content作为字符串/文本字段,被全文索引 sql_attr_uint = group_id #从SQL读取到的值必须为整数 sql_attr_timestamp = date_added #从SQL读取到的值必须为整数,作为时间属性 sql_query_info_pre = SET NAMES utf8 #命令行查询时,设置正确的字符集 sql_query_info = SELECT * FROM documents WHERE id=$id #命令行查询时,从数据库读取原始数据信息 } #index定义 index documents { source = documents #对应的source名称 path = d:/web/sphinx/var/data/documents #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... docinfo = extern mlock = 0 morphology = none min_word_len = 1 html_strip = 0 #中文分词配置,详情请查看:http://HdhCmsTestcoreseek.cn/products-install/coreseek_mmseg/ #charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾 charset_dictpath = d:/web/sphinx/etc/ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/... charset_type = zh_cn.utf-8 } #全局index定义 indexer { mem_limit = 128M } #searchd服务定义 searchd { listen = 9312 read_timeout = 5 max_children = 30 max_matches = 1000 seamless_rotate = 0 preopen_indexes = 0 unlink_old = 1 pid_file = d:/web/sphinx/var/log/searchd_mysql.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... log = d:/web/sphinx/var/log/searchd_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... query_log = d:/web/sphinx/var/log/query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... }

6.在本地建立test数据库,导入var/test下documents.sql 7.在dos下进入sphinx/bin目录,建立索引 index.php --all(也可以指定配置文件:indexer.exe --config d:/web/sphinx/bin/csft.conf documents )

 

8.search.exe twitter 显示查找成功,在dos下查找中文是不支持的,所以查找中文我们在PHP下测试

 

9.把search定义成守护进程服务 searchd.exe --config d:/web/sphinx/bin/csft.conf --install 在window下就有了一个为searchd的服务,可以在上面点击启动停止操作(删除window服务命令 sc delete "服务名" (如果服务名中间有空格,就需要前后) 10.把sphinx下的api文件夹拷贝到web目录下,如无需其它测试文件直接把sphinxapi.php复制过来便可 新建一个test.php文件, 复制粘贴以下代码:

PHP Code复制内容到剪贴板 require 'api/sphinxapi.php'; $host = "localhost"; $port = 9312; $nowTime = time(); $sc = new SphinxClient(); // 实例化Api $sc->setServer($host, $port); // 设置服务端,第一个参数sphinx服务器地址,第二个sphinx监听端口 $res = $sc->query('浏览速度'); // 执行查询,第一个参数查询的关键字,第二个查询的索引名 if (!$res) { $error = $sc->GetLastError(); var_dump($error);exit; } $ids = join(',',array_keys($res['matches'])); print_r($ids); // 获取主键 exit; 结果以下:

 

操作成功( 如遇到相关报错问题可以参考上一篇文章 )

查看更多关于在Windows7上安装coreseek3.2同时在PHP下简单实现步骤的详细内容...

  阅读:79次