内容简介:[深入浅出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
运行示例
数据库数据
使用indexer程序做索引
查询
可以看到,配置文件中的add_time被返回了,如上图的1所示。而sql_query_info返回的信息如上图的2所示。
结束语
Sphinx的配置不是很灵活,此处根据上文的工作流程给出各部分的配置,更多的高级配置可以在使用时查阅文档。
原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。
如果本文对你有帮助,请点下推荐,写文章不容易。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 深入解析 incaseformat 病毒
- 深入解析JIT编译
- 《深入解析Go》笔记
- 深入解析CSS FlexBox
- 深入理解 Java 函数式编程,第 5 部分: 深入解析 Monad
- 深入浅出Semaphore源码解析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Don't Make Me Think
Steve Krug / New Riders Press / 18 August, 2005 / $35.00
Five years and more than 100,000 copies after it was first published, it's hard to imagine anyone working in Web design who hasn't read Steve Krug's "instant classic" on Web usability, but people are ......一起来看看 《Don't Make Me Think》 这本书的介绍吧!