安装Sphinx-for-chinese
1 下载Sphinx-for-chinese
http://code.google.com/p/sphinx-for-chinese/downloads/list
sphinx-for-chinese-2.0.2-beta-r3019.tar.gz 源代码
xdict_1.1.tar.gz 词库
2 编译安装Sphinx-for-chinese
$sudo apt-get install libmysql++-dev ##mysql-dev在ubuntu上找不到了 $tar -xzvf sphinx-for-chinese-2.0.2-beta-r3019.tar.gz $cd sphinx-for-chinese-2.0.2-beta-r3019/ $./configure --prefix=/usr/local/sphinx $make $sudo make install
3 配置sphinx.conf
###索引源###
source article_src { type = mysql #####数据源类型 sql_host = localhost ######mysql主机 sql_user = root ########mysql用户名 sql_pass = pwd############mysql密码 sql_db = test #########mysql数据库名 sql_port= 3306 ###########mysql端口 sql_query_pre = SET NAMES UTF8 ###mysql检索编码,特别要注意这点,很多人中文检索不到是数据库的编码是GBK或其他非UTF8 chinese_dictionary = /usr/local/sphinx/etc/xdict##中文字典 sql_query = SELECT id,title,cat_id,member_id,content,created FROM sphinx_article ####### 获取数据的sql #####以下是用来过滤或条件查询的属性############ sql_attr_uint = cat_id ######## 无符号整数属性 sql_attr_uint = member_id sql_attr_timestamp = created ############ UNIX时间戳属性 sql_query_info = select * from sphinx_article where id=$id ######### 用于命令界面端(CLI)调用的测试 } ### 索引 ### index article { source = article_src ####声明索引源 path = /usr/local/sphinx/var/data/article #######索引文件存放路径及索引的文件名 docinfo = extern ##### 文档信息存储方式 mlock = 0 ###缓存数据内存锁定 morphology = none #### 形态学(对中文无效) min_word_len = 1 #### 索引的词最小长度 charset_type = utf-8 #####数据编码 } ######### 索引器配置 ##### indexer { mem_limit = 256M ####### 内存限制 } ############ sphinx 服务进程 ######## searchd { #listen = 9312 ### 监听端口,在此版本开始,官方已在IANA获得正式授权的9312端口,以前版本默认的是3312 log = /usr/local/sphinx/var/log/searchd.log #### 服务进程日志 ,一旦sphinx出现异常,基本上可以从这里查询有效信息,轮换(rotate)出的问题一般可在此寻到答案 query_log = /usr/local/sphinx/var/log/query.log ### 客户端查询日志,笔者注:若欲对一些关键词进行统计,可以分析此日志文件 read_timeout = 5 ## 请求超时 max_children = 30 ### 同时可执行的最大searchd 进程数 pid_file = /usr/local/sphinx/var/log/searchd.pid #######进程ID文件 max_matches = 1000 ### 查询结果的最大返回数 seamless_rotate = 1 ### 是否支持无缝切换,做增量索引时通常需要 }
4 几个常用命令
生成字典
$/usr/local/sphinx/bin/mkdict xdict.txt xdict
建立索引
$sudo ./indexer -c etc/sphinx.conf article ### 建立索引文件的命令
开启守护进程
$sudo ./searchd -c etc/sphinx.conf & ### 使sphinx在后台运行