[深入浅出Sphinx]Sphinx配置文件解析,

上文介绍了Sphinx的工作原理,关于如何安装的文章在网上有很多,笔者就不再复述了,现在继续讲解Sphinx的配置文件,让Sphinx工作起来。

数据源配置

先来看一份数据源的配置文件示例:

 1 source test
 2  {
 3      type                    = mysql
 4  
 5      sql_host                = 127.0.0.1
 6      sql_user                = root
 7      sql_pass                = root
 8      sql_db                  = test
 9      sql_port                = 3306    # optional, default is 3306
10  
11      sql_query_pre           = SET NAMES utf8
12      sql_query            = SELECT id, name, add_time FROM tbl_test
13  
14      sql_attr_timestamp      = add_time
15  
16    sql_query_info_pre      = SET NAMES utf8
17      sql_query_info          = SELECT * FROM tbl_test WHERE id=$id
18  }

 

其中

source后面跟着的是数据源的名字,后面做索引的时候会用到;

type:数据源类型,可以为MySQL,PostreSQL,Oracle等等;

sql_host、sql_user、sql_pass、sql_db、sql_port是连接数据库的认证信息;

sql_query_pre:定义查询时的编码

sql_query:数据源配置核心语句,sphinx使用此语句从数据库中拉取数据;

sql_attr_*:索引属性,附加在每个文档上的额外的信息(值),可以在搜索的时候用于过滤和排序。设置了属性之后,在调用Sphinx搜索API时,Sphinx会返回已设置了的属性;

sql_query_info_pre:设置查询编码,如果在命令行下调试出现问号乱码时,可以设置此项;

sql_query_info:设置命令行下返回的信息。

索引配置

 1 index test_index
 2 {
 3     source                    = test
 4     path                      = /usr/local/coreseek/var/data/test
 5     docinfo                   = extern
 6     charset_dictpath          = /usr/local/mmseg3/etc/
 7     charset_type              = zh_cn.utf-8
 8     ngram_len                 = 1
 9     ngram_chars               = U+3000..U+2FA1F 
10 }

其中

index后面跟的test_index是索引名称

source:数据源名称;

path:索引文件基本名,indexer程序会将这个路径作为前缀生成出索引文件名。例如,属性集会存在/usr/local/sphinx/data/test1.spa中,等等。

docinfo:索引文档属性值存储模式;

charset_dictpath:中文分词时启用词典文件的目录,该目录下必须要有uni.lib词典文件存在;

charset_type:数据编码类型;

ngram_len:分词长度;

ngram_chars:要进行一元字符切分模式认可的有效字符集。

中文分词核心配置

一元分词

1 charset_type = utf8
2 
3 ngram_len = 1
4 
5 ngram_chars = U+3000..U+2FA1F

mmseg分词

1 charset_type = utf8
2 
3 charset_dictpath = /usr/local/mmseg3/etc/
4 
5 ngram_len = 0

运行示例

数据库数据

图片 1

 

使用indexer程序做索引

图片 2

 

查询

图片 3

澳门太阳娱乐集团官网 ,可以看到,配置文件中的add_必赢棋牌 ,time被返回了,如上图的1所示。而sql_query_info返回的信息如上图的2所示。

结束语

Sphinx的配置不是很灵活,此处根据上文的工作流程给出各部分的配置,更多的高级配置可以在使用时查阅文档。

 

原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

如果本文对你有帮助,请点下推荐,写文章不容易。

上文介绍了Sphinx的工作原理,关于如何安装的文章在网上有很多,笔者就不再复述了,现在继续讲解…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章