安装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在后台运行

Tags:

星期三, 七月 4th, 2012 Web

Leave a Reply

1LMooBmUE153Wnd3zDryWvDyXxQudbFxDr