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.sql6、建立索引 test1即为sphinx.conf中index test1
D:\sphinx\bin>indexer.exe test17、搜索’test’,执行
D:\sphinx\bin>search.exe test8、进入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.exe9、然后再浏览器中输入http://localhost/sphinxapi/search.php即可打印查询的数组
10、关于中文汉字检索后期更新。