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

栏目: 编程工具 · 发布时间: 8年前

内容简介:[深入浅出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

运行示例

数据库数据

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

使用indexer程序做索引

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

查询

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

可以看到,配置文件中的add_time被返回了,如上图的1所示。而sql_query_info返回的信息如上图的2所示。

结束语

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

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

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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Don't Make Me Think

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》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具