windows下sphinx安装配置
1.本博客开发使用的是spahinx的sphinx-2.0.6-release版本,下载地址http://sphinxsearch.com/downloads/archive/。
2、将下载的压缩包解压到D: \ sphinx(任意位置,我解压的位置为D: \ sphinx),并在D:\sphinx下新建目录data(用来存放索引文件)与log(用来存放日志文件) (这一步很重要,如果不建立文件夹,后面创建索引会报.spl无法打开的错误);
3、将D:\sphinx\sphinx.conf.in复制到D:\sphinx\bin\sphinx.conf.in,并重命名为sphinx.conf;
4、修改 D:\sphinx\bin\sphinx.conf 配置文件的内容:
(1)修改
source src1
{
sql_user = root (注释:数据库连接的用户名)
sql_db = test (后期导入数据库的名称)
sql_port = 3306 (数据库端口号)
sql_port = 3306 (数据库端口号)
sql_query_pre = SET NAMES utf-8 (如果前面有#号需要去除,我的数据库是utf8)
}
(2)修改
index test1
{
path = D:/sphinx/data/
charset_type = utf-8 (如果前面有#号需要去除)
charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F,U+430..U+44F (如果前面有#号需要去除,此处是utf8下的编码,指定utf-8编码表)
ngram_len = 1 (如果有中午搜索 必须设置为1)
ngram_chars = U+3000..U+2FA1F (分词字符检索检索中午设置)
}
(3)如果不包含分布式检索,注释以下内容
#index dist1
#{
#...
#}
(4)修改
indexer{
mem_limit = 32M (内存占有)
}
(5)修改
searchd
{
log = D:/sphinx/log/searchd.log
query_log = D:/sphinx/log/query.log
pid_file = D:/sphinx/log/searchd.pid
#seamless_rotate = 1 (windows下检索必须注释,前面需要加上井号)
}
5、导入测试数据
注意:创建数据库时候为UTF-8格式
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -uroot test<d:/sphinx/example.sql
6、建立索引
test1即为sphinx.conf中index test1
D:\sphinx\bin>indexer.exe test1
7、搜索’test’,执行
D:\sphinx\bin>search.exe test
8、进入D:\sphinx\api\目录,sphinx支持php、java、ruby调用,用php举例,首先将api复制到E:\wamp64\www下并重命名为sphinxapi,我用的是wanp集成包,在E:\wamp64\www\sphinxapi\下新建search.php,内容为:
<?php
require "sphinxapi.php";
$cl = new SphinxClient();
$cl->SetServer('localhost', 9312); //注意这里的主机
$result = $cl->Query('test1');
print_r($result);
?>
然后开启sphinx服务
D:\sphinx\bin>searchd.exe
9、然后再浏览器中输入http://localhost/sphinxapi/search.php即可打印查询的数组
10、关于中文汉字检索后期更新。