coreseek安装与mysql latin1编码问题解决

来源:互联网 发布:win10硬盘安装ubuntu 编辑:程序博客网 时间:2024/06/10 03:45

转载请注明出处:http://blog.csdn.net/sunlylorn/article/details/7004668

作者:sunlylorn

博客地址:blog.csdn.net/sunlylorn


1、背景

需要使用coreseek+mysql+php搭建一个中文检索引擎,mysql默认编码为latin1,不能更改mysql的编码

且:中文是通过gbk编码存入数据库的!(关键)

2、解决办法

coreseek安装过程不再描述,详见http://www.coreseek.cn/product_install/install_on_bsd_linux

下面主要讲一下如何使coreseek支持latin1编码。我们来看一下最关键的配置文件


其中最关键的两行就是:

1)不要执行set names utf8

2)设置charset_type为zh_cn.gbk


我们来测试一下该配置文件是否好使,运行:

/usr/local/coreseek/bin/indexer users_main --buildstops 1.txt 1000000

查看1.txt里的内容:


已经有了分词结果!

我们再来测试一下搜索是否成功,准备如下脚本:

<?phprequire ( "sphinxapi.php" );$cl = new SphinxClient ();$cl->SetServer ( '127.0.0.1', 9312);$cl->SetConnectTimeout ( 3 );$cl->SetArrayResult ( true );$cl->SetMatchMode ( SPH_MATCH_ANY);$res = $cl->Query ('油耗', "*" );print_r($res);?>
先建好索引:

/usr/local/coreseek/bin/indexer --all

再启动搜索服务:

/usr/local/coreseek/bin/searchd 

运行测试脚本:

/usr/local/php/bin/php ./test_coreseek.php

输出:




搞定!

原创粉丝点击