本文主要是介绍coreseek安装与mysql latin1编码问题解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转载请注明出处: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里的内容:
已经有了分词结果!
我们再来测试一下搜索是否成功,准备如下脚本:
<?php
require ( "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
输出:
搞定!
这篇关于coreseek安装与mysql latin1编码问题解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!